我正在尝试使用bootnode建立一个私有的以太网网络。我在具有相同安全组的EC2(t2.medium)上创建了两个实例。首先,我使用
创建了启动密钥 bootnode -genkey boot.key
然后我使用以下命令
设置bootnode bootnode -nodekey boot.key -verbosity 7 -addr "172.31.20.13:30310"
bootnode已成功设置,enode value = enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310
我使用genesis文件和以下命令
初始化了两个节点geth --datadir "./mydatadir" init genesis.json
Genesis.json
{
"config": {
"chainId": 1337,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"nonce": "0x0000000000000042",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x00",
"gasLimit": "0x8000000",
"difficulty": "0x01",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x238dd521ad221b37cc176fa9f4bf88cf19fe39f1",
"alloc": {
"0x238dd521ad221b37cc176fa9f4bf88cf19fe39f1" : {
"balance" : "200000000000000000000000"
},
"0xaebc7588345fc7963505dd6de9d12390980fc13d" : {
"balance" : "10000000000000000000"
},
"0xa5c77bd6319a5eaba9494acd90cac9712f9e15c9" : {
"balance" : "20000000000000000000"
}
}
}
我尝试连接两个节点(两个实例)来引导一个节点位于bootnode的同一个实例上。我使用了以下命令
geth --networkid 1337 --datadir "./mydatadir" --bootnodes "enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310" --port 3003 --ipcdisable --syncmode full console
此节点加入bootnode并成功与之交互
TRACE[05-24|21:01:55] << FINDNODE/v4 addr=172.31.20.13:3003 err="unknown node"<br>
TRACE[05-24|21:01:55] >> PONG/v4 addr=172.31.20.13:3003 err=nil<br>
TRACE[05-24|21:01:55] << PING/v4 addr=172.31.20.13:3003 err=nil<br>
TRACE[05-24|21:01:55] Starting bonding ping/pong id=33c0695b8d4f9ff6 known=false failcount=0 age=424221h1m55.666391609s<br>
TRACE[05-24|21:01:55] >> PING/v4 addr=172.31.20.13:3003 err=nil
但是当我在其他实例(节点)上运行相同的命令时
geth --networkid 1337 --datadir "./mydatadir" --bootnodes "enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310" --port 3004 --ipcdisable --syncmode full console
节点成功启动但我没有看到它与bootnode交互,当我在两个节点上输入admin.peer命令时我得到空列表。我做错了什么?请帮帮我
答案 0 :(得分:0)
似乎是其中一个节点中的防火墙...默认情况下,引导节点在端口30301上启动。可能是您已配置了安全组,使得端口30310未打开。确保所需的端口已打开,并且两个EC2节点都能够通过IP相互通信
答案 1 :(得分:-1)
确保您可以使用UDP访问侦听端口,因为geth将其用于对等访问