Go-Ethereum
在同一台電腦上設置兩個本地節點的問題
我在同一台電腦上將兩個本地節點設置為不同的使用者(兩個不同的會話)。問題是我不能讓他們成為同齡人。
喚醒主節點的命令:
geth --identity "MainNode" \ --rpc \ --rpcport 8000 \ --rpccorsdomain "*" \ --datadir "/home/ubuntu/ethereum" \ --port "30303" \ --nodiscover \ --ipcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" \ --rpcapi "db,eth,net,web3" \ --autodag \ --networkid 10165211 \ --nat "any" console init /home/ubuntu/ethereum/CustomGenesis.json
喚醒第二個節點的命令:
geth --identity "My Node" \ --rpc \ --rpcport 8001 \ --rpccorsdomain "*" \ --datadir "/home/xxxx/ethereum" \ --port "30304" \ --nodiscover \ --ipcdisable \ --rpcapi "db,eth,net,web3" \ --autodag \ --networkid 10165211 \ --nat "any" console init /home/xxxx/ethereum/CustomGenesis.json
但是當我啟動節點時,我使用命令 admin.nodeInfo 我在第一個節點中找到了這個:
admin.nodeInfo { enode: "enode://34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129@[::]:30303?discport=0", id: "34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129", ip: "::", listenAddr: "[::]:30303", name: "Geth/v1.4.12-stable/linux/go1.5.1/MainNode", ports: { discovery: 0, listener: 30303 }, protocols: { eth: { difficulty: 17179869184, genesis: "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3", head: "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3", network: 10165211 } } }
而這,在第二個:
admin.nodeInfo { enode: "enode://34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129@[::]:30304?discport=0", id: "34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129", ip: "::", listenAddr: "[::]:30304", name: "Geth/v1.4.12-stable/linux/go1.5.1/My Node", ports: { discovery: 0, listener: 30304 }, protocols: { eth: { difficulty: 1024, genesis: "0x1a8c903ab9d8b7bec7ba8b15dab33a3418c90dbf8f73ec3086d34b4e17e017e6", head: "0x1a8c903ab9d8b7bec7ba8b15dab33a3418c90dbf8f73ec3086d34b4e17e017e6", network: 10165211 } } }
即使 CustomGenesis.json 文件是彼此(完全)的純副本,我們也可以看到一些奇怪的東西:
- 在這兩種情況下,enode ID 都是相同的。不應該。
- 埠更改(顯然必須這樣做)。沒關係。
- 難度不一樣,應該一樣。
- 創世雜湊和頭部不一樣。我想他們應該是。
我確定不是 Genesis.json 文件問題,因為我什至嘗試對兩個節點使用相同的文件,但我在這裡解釋的相同發生在我身上。
關於錯誤/錯誤/錯誤在哪裡的任何想法?
謝謝你。
我的解決方案:
發生這種情況時,它可能似乎是某些數據的損壞。該解決方案就像刪除每個 datadir 和子文件夾一樣簡單。這將意味著您從零開始(或保存一些數據,如果您之前備份它們,則作為帳戶保存)但它有效。
就我而言:
sudo rm -r /home/ubuntu/ethereum/ sudo rm -r /home/ubuntu/.ethereum/ sudo rm -r /home/xxxx/ethereum