Go-Ethereum

在專用網路上創建集群

  • March 28, 2016

我目前正在執行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-01enode:

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")

現在完美執行。

引用自:https://ethereum.stackexchange.com/questions/2363