Go-Ethereum

無法在本地電腦之外添加對等點

  • March 6, 2019

我可以在同一台機器上啟動任意數量的節點,並讓它們在同一個私有區塊鍊網路中對等。但是當我嘗試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 用於連接對等點的埠是否正確打開。

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