Go-Ethereum
在專用網路上創建集群
我目前正在執行
geth
。我的網路中有 4 個節點,我願意讓它們相互互動。
在 上
host-01
,我執行了:geth --identity "Node1" --genesis /tmp/eth/genesis.json --rpc --rpcport \ "8001" --rpccorsdomain "*" --datadir /tmp/eth/60/01/ --port "30301" \ --nodiscover -ipcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" \ -rpcapi "db,eth,net,web3" --autodag --networkid 4828 --nat \ "any" console 2>> /tmp/eth/60/01.log
在 上
host-02
,我genesis.json
從 複製了文件host-01
,並執行了相同的命令,只是更改了--identity
參數。現在我試圖讓他們互相交談。我已經獲得了
host-01
enode:admin.nodeInfo.enode
這給了我一個類似的字元串:
"enode://6380bf79e7900309ac71612835f...@[::]:30301?discport=0"
然後,
host-02
我在控制台中執行:admin.addPeer("enode://6380bf79e7900309ac71612835f...@[::]:30301?discport=0")
結果是
true
,但是當我執行時:admin.peers
它向我顯示了一個空列表。
我錯過了什麼?
編輯
附加資訊:主機確實在網路中看到彼此(通過測試
ping
)並且埠已啟動(通過測試telnet
),儘管連接僅保持打開大約 1 秒。不確定這是否是問題所在。
真丟人!
我忘記更改網路介面以反映另一個節點的實際 IP 地址:
admin.addPeer("enode://6380bf79e7900309ac71612835f...@<HOST-02 IP HERE>:30301?discport=0")
現在完美執行。