Go-Ethereum
無法在本地電腦之外添加對等點
我可以在同一台機器上啟動任意數量的節點,並讓它們在同一個私有區塊鍊網路中對等。但是當我嘗試
addPeer()
在單獨的 EC2 實例上使用時,我沒有成功。其中一個節點在 16000 塊上,另一個在 50 塊上,我想將 50 塊節點同步到 16000 塊節點。
安全組設置正確,我使用失敗的其他可能原因是
addPeer()
什麼?
連接的常見問題
有時你就是無法連接。最常見的原因如下:
- 您的當地時間可能不正確。參與乙太坊網路需要準確的時鐘。檢查您的作業系統以了解如何重新同步您的時鐘(例如 sudo ntpdate -s time.nist.gov),因為即使 12 秒太快也會導致 0 個對等點。
- 某些防火牆配置可以阻止 UDP 流量流動。您可以使用控制台上的靜態節點功能或 admin.addPeer() 手動配置連接。
在我看來,最可能的原因是連接問題,EC2 的防火牆阻止了流量的出入。執行以下命令:
(機器 1)
> admin.peers [{ ID: 'a4de274d3a159e10c2c9a68c326511236381b84c9ec52e72ad732eb0b2b1a2277938f78593cdbe734e6002bf23114d434a085d260514ab336d4acdc312db671b', Name: 'Geth/v0.9.14/linux/go1.4.2', Caps: 'eth/60', RemoteAddress: '5.9.150.40:30301', LocalAddress: '192.168.0.28:39219' }, { ...
(機器 2)
> admin.nodeInfo { Name: 'Geth/v0.9.14/darwin/go1.4.2', NodeUrl: 'enode://3414c01c19aa75a34f2dbd2f8d0898dc79d6b219ad77f8155abf1a287ce2ba60f14998a3a98c0cf14915eabfdacf914a92b27a01769de18fa2d049dbf4c17694@[::]:30303', NodeID: '3414c01c19aa75a34f2dbd2f8d0898dc79d6b219ad77f8155abf1a287ce2ba60f14998a3a98c0cf14915eabfdacf914a92b27a01769de18fa2d049dbf4c17694', IP: '::', DiscPort: 30303, TCPPort: 30303, Td: '2044952618444', ListenAddr: '[::]:30303' }
並檢查 Geth 用於連接對等點的埠是否正確打開。