Go-Ethereum
AWS 上的私有乙太坊網路
我在 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 。