Go-Ethereum

AWS 上的私有乙太坊網路

  • January 8, 2022

我在 AWS 上創建私有乙太坊網路時遇到問題。我已在 AWS 的防火牆中為所需埠啟用 TCP/UDP。

在一個節點 A(aws 實例)上,我通過使用自定義生成文件使用命令來啟動 geth 控制台

geth --datadir="ethdata" init fresh.json

然後我使用以下命令在同一個節點 A 上執行 geth

geth --datadir="ethdata" --networkid 1234 console

現在我啟動另一個 AWS 實例節點 B。在這裡我使用自定義 genesis 文件初始化 geth

geth --datadir="ethdata" init fresh.json

然後使用在節點 B 中啟動 geth 控制台

geth --datadir="ethdata" --networkid 1234 console

然後在節點 BI 中執行以下命令

>admin.addPeer("<enode of the nodeA")

上面的命令返回

然而,節點 A 和節點 B 中的 admin.peers 都提供了空字元串。

有時我可以查看連接到這些節點中的任何一個的其他對等點(可能是因為我正在執行沒有 –nodiscover 選項的 geth),但我仍然無法在我的兩個節點之間建立對等連接。

請告知我可能出了什麼問題。

PS:我也嘗試過使用 bootnode 選項,但仍然沒有成功。

問題:我可以只在節點 A 上執行 bootnode,然後在節點 B 上執行一個使用 bootnodes “enode url” 連接到 enode 的 geth 控制台嗎?儘管我確實嘗試過,但它仍然沒有導致正確的點對點連接。

對等互連需要特定的埠配置。

“確保兩個節點具有相同的安全組,它允許 TCP 30303(或 30000-30999,因為我可能會在此範圍內使用更多埠)。預設情況下,埠 30303 用於節點之間的對等。”

參考這篇文章: https ://blockgeeks.com/two-node-setup-of-a-private-ethereum/

還要確保其中一個實例正在探勘。

試試這個以獲得在 AWS 上設置私有網路的詳細說明。它使用 PoA 共識。您也應該能夠使用 pow 。

https://github.com/chainhead/poc

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