知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
新增節點顯示 true ,但是使用 admin.peers 查看不到。
> admin.addPeer("enode://c4586276391b3c88ec23889d1bc825d0c7d69bd5765d4545686f835608068b8dc48799d2686a04ea0f9e17aed099bf9b56935679fa6493e9b17151624a320714@172.16.0.17:30303") true > admin.peers []
查看節點,如果發現 ip: "::" 同時 discovery: 0
> admin.nodeInfo { enode: "enode://9f6490ffb5236f2ddc5710ae73d47c740e0a3644bbd2d67029cf4a6c4693d2f470b642fd2cc3507f7e851df60aaeb730a1270b7a477f91ec5b6b17a8a4b40527@[::]:30303?discport=0", id: "9f6490ffb5236f2ddc5710ae73d47c740e0a3644bbd2d67029cf4a6c4693d2f470b642fd2cc3507f7e851df60aaeb730a1270b7a477f91ec5b6b17a8a4b40527", ip: "::", listenAddr: "[::]:30303", name: "Geth/v1.7.3-stable-4bb3c89d/linux-amd64/go1.9.1", ports: { discovery: 0, listener: 30303 }, protocols: { eth: { difficulty: 131072, genesis: "0x611596e7979cd4e7ca1531260fa706093a5492ecbdf58f20a39545397e424d04", head: "0x611596e7979cd4e7ca1531260fa706093a5492ecbdf58f20a39545397e424d04", network: 123456 } } } >
解決方案啟動時可能增加了 --nodiscover 參數,去掉參數後可以解決。
有三種方法新增節點
第一種,啟動指定
geth --bootnodes enode://pubkey1@ip1:port1,enode://pubkey2@ip2:port2,enode://pubkey3@ip3:port3
第二種,在控制台中添加
> admin.addPeer('enode://9f6490ffb5236f2ddc5710ae73d47c740e0a3644bbd2d67029cf4a6c4693d2f470b642fd2cc3507f7e851df60aaeb730a1270b7a477f91ec5b6b17a8a4b40527@172.16.0.1:30303')
第三種,在檔案 ~/.ethereum/geth/static-nodes.json 中添加節點數據
[ "enode://9f6490ffb5236f2ddc5710ae73d47c740e0a3644bbd2d67029cf4a6c4693d2f470b642fd2cc3507f7e851df60aaeb730a1270b7a477f91ec5b6b17a8a4b40527@172.16.0.17:30303", "enode://pubkey@ip:port" ]
這個檔案內容是一個數組,類似 ["","",""] 。