【问题标题】:how to setup private ethereum network using bootnode on aws如何在 aws 上使用 bootnode 设置私有以太坊网络
【发布时间】:2018-05-24 21:47:28
【问题描述】:

我正在尝试使用 bootnode 建立一个私有以太坊网络。我在具有相同安全组的 EC2 (t2.medium) 上创建了两个实例。首先,我使用

创建了启动密钥
     bootnode -genkey boot.key

然后我使用以下命令设置引导节点

     bootnode -nodekey boot.key -verbosity 7 -addr "172.31.20.13:30310"

在bootnode成立成功地与e节点值= e节点://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310 P>

我使用 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 一个节点位于与 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 

节点已成功启动,但我没有看到它与引导节点交互,当我在两个节点上键入 admin.peer 命令时,我得到空列表。我做错了什么吗?请帮帮我

【问题讨论】:

    标签: amazon-ec2 network-programming blockchain ethereum


    【解决方案1】:

    似乎其中一个节点中的防火墙...默认情况下,引导节点从端口 30301 启动。可能是您配置了安全组,使得端口 30310 未打开。确保所需端口已打开,并且两个 EC2 节点能够通过 IP 相互通信

    【讨论】:

      【解决方案2】:

      确保您可以使用 UDP 访问侦听端口,因为 geth 使用该端口进行对等连接

      【讨论】:

        猜你喜欢
        • 2019-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-07
        • 2020-03-15
        • 2019-06-14
        • 1970-01-01
        • 2019-03-19
        相关资源
        最近更新 更多