我正在开发一个私有块链,它由运行在不同端口上的4个节点组成。
我试图让每个节点将其连接传递给它的对等节点,这样网络就会完全连接(每个节点都有彼此的节点作为其对等点)。然而,节点并没有发现它们的对等点。
节点1被指定为bootstrap node,节点2和3在启动时连接到它。然而,节点1将以节点2和3作为其对等点,而节点1将仅作为其自己的对等点。我希望节点2和3能够发现彼此。
此外,当我从Node 1运行admin.addPeer(node4's enode)时,它不会被广播给它的同行。
我的问题是:如何启用一个对等点发现协议,其中每个节点都将其所有对等节点通信到其每个对等点?
我知道有一些黑客可以绕过这件事。例如,我可以简单地将其他三个节点的enode地址中的每一个传递给Geth中每个节点的--bootnodes。或者,我可以在每个对等的admin.peers上使用D5。但我认为Geth有自动化功能,我想使用他们的解决方案。
StartNode脚本:
geth --networkid 63261 --mine --minerthreads 1 --datadir . --rpc --rpcport "8547" --port "30305" --rpccorsdomain "*" --nat "any" --rpcapi eth,web3,personal,net --unlock 0 --password "./node3password.sec" --ipcdisable --bootnodes "node1enode" console 2>> geth.log
:
在运行./BCNetworkName.json脚本之前,我已经初始化了我的每个节点,以指向我的私有网络的Genesis (D7)。geth --datadir ./NodeN init BCNetworkName.json
https://ethereum.stackexchange.com/questions/61345
复制相似问题