用 PoA 連接不同的機器
我想在乙太坊專用網路中連接兩台不同的機器!
我以前用普通的 PoW-Consesus 做過,但是用 puppeth 創建的 PoA 我嘗試時看不到一些 Peers:
admin.peers
我做過的事情:
在兩台機器上初始化乙太坊賬戶:
geth --datadir data/node1 account new geth --datadir data/node2 account new
然後我用 puppeth 創建了一個 genesis 文件並將其複製到它們相似的另一台機器上!
該文件如下所示:
{“config”:{“ChainId”:1001,“HomeSteadblock”:1,“EIP150HASH”:2,“EIP1500000000000”EIP1550000000000“:3,”EIP158Block“:3,”Byzantiumblock“:4, “constantinopleBlock”:5,“clique”:{ “period”:0,“epoch”:30000 } },“nonce”:“0x0”,“timestamp”:“0x5c3894dc”,“extraData”:“0x0000000000000000000000000000000000000000000000000000000000000000d460f5cc1dd0efec245ca8a87afd5c1ba1456f7e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000“,”gasLimit“:”0x47b760“,”看病難“:”為0x1“,”mixHash“:”0x0000000000000000000000000000000000000000000000000000000000000000“,”coinbase“:”0x0000000000000000000000000000000000000000“,”黃金“:{”d460f5cc1dd0efec245ca8a87afd5c1ba1456f7e“:{”平衡“:” 0x20000000000000000000000000000000000000000000000000000000000000000 } },“數字”:“0x0”,“gasUsed”:“0x0”,“parentHash”:“0x0000000000000000000000000000000000000000000000000000000000000000"
然後我用這個命令初始化了 genesis 文件:
geth --datadir data/node1/ init genesis.json geth --datadir data/node2/ init genesis.json
之後,我使用以下命令啟動了兩個節點:
geth --datadir="data/node1" --networkid "1001" --nodiscover console --unlock "d460f5cc1dd0efec245ca8a87afd5c1ba1456f7e" --rpc --rpcport "8000" --rpcaddr "0.0.0.0" --rpccorsdomain "*" --rpcapi "eth,net,web3,miner,debug,personal,rpc" --syncmode "full" geth --datadir="data/node2" --networkid "1001" --nodiscover console --unlock "1200f5a866b0889a816d808a82b4f3be30ba6ba2" --rpc --rpcport "8000" --rpcaddr "0.0.0.0" --rpccorsdomain "*" --rpcapi "eth,net,web3,miner,debug,personal,rpc" --syncmode "full"
要找出我在沒有預平衡的機器上寫的 enode:
admin.nodeInfo.enode
給我這個輸出:
“enode://2c98ce532ae14020437889ecc9af8f15fd3463ccb6262c9eec124073ab6ee8999ebe2ff97bf8559e3b5b7c85157251129127600c955c1d1a3b3e9fb5430f1203=0.30.00c955c1d1a3b3e9fb5430f1203=0.3port=0.37
並在複製enode後在主機上執行此命令:
admin.addPeer("enode://2c98ce532ae14020437889ecc9af8f15fd3463ccb6262c9eec124073ab6ee8999ebe2ff97bf8559e3b5b7c85157251129127600c955c1d1a3b3e9fb54330f120@127.0.0.1:30303?discport=0")
我也試過這個命令:
admin.addPeer("enode://2c98ce532ae14020437889ecc9af8f15fd3463ccb6262c9eec124073ab6ee8999ebe2ff97bf8559e3b5b7c85157251129127600c955c1d1a3b3e9fb54330f120@127.0.0.1:30303")
你能幫我連接不同機器的對等點,我可以執行一個私有 PoA 乙太坊!
無論如何謝謝 :)
由於您嘗試連接兩台機器,因此您必須使用它們的外部 ip 而不是 127.0.0.1
例如,如果 ip 是 192.168.1.99,那麼命令應該是:
admin.addPeer(“enode://2c98ce532ae14020437889ecc9af8f15fd3463ccb6262c9eec124073ab6ee8999ebe2ff97bf8559e3b5b7c85157251129127600c955c1d1a3b23e9fb5433068)@191 . _