Ich versuche, ein privates Ethereum-Netzwerk mit Bootnode einzurichten. Ich habe zwei Instanzen auf EC2 (t2.medium) mit derselben Sicherheitsgruppe erstellt. Zuerst habe ich den Boot-Schlüssel mit erstellt
bootnode -genkey boot.key
Dann richte ich den Bootnode mit dem folgenden Befehl ein
bootnode -nodekey boot.key -verbosity 7 -addr "172.31.20.13:30310"
The bootnode was set up successfully with enode value =enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310
Ich habe beide Knoten mit der Genesis-Datei und dem folgenden Befehl initialisiert
geth --datadir "./mydatadir" init genesis.json
Genesis.json
{
"config": {
"chainId": 1337,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"nonce": "0x0000000000000042",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x00",
"gasLimit": "0x8000000",
"difficulty": "0x01",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x238dd521ad221b37cc176fa9f4bf88cf19fe39f1",
"alloc": {
"0x238dd521ad221b37cc176fa9f4bf88cf19fe39f1" : {
"balance" : "200000000000000000000000"
},
"0xaebc7588345fc7963505dd6de9d12390980fc13d" : {
"balance" : "10000000000000000000"
},
"0xa5c77bd6319a5eaba9494acd90cac9712f9e15c9" : {
"balance" : "20000000000000000000"
}
}
}
Ich habe versucht, jetzt zwei Knoten (zwei Instanzen) mit Bootnode zu verbinden, wobei sich ein Knoten auf derselben Instanz wie Bootnode befindet. Ich habe den folgenden Befehl verwendet
geth --networkid 1337 --datadir "./mydatadir" --bootnodes "enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310" --port 3003 --ipcdisable --syncmode full console
Dieser Knoten wird mit dem Bootknoten verbunden, der erfolgreich mit ihm interagiert
TRACE[05-24|21:01:55] << FINDNODE/v4 addr=172.31.20.13:3003 err="unknown node"<br>
TRACE[05-24|21:01:55] >> PONG/v4 addr=172.31.20.13:3003 err=nil<br>
TRACE[05-24|21:01:55] << PING/v4 addr=172.31.20.13:3003 err=nil<br>
TRACE[05-24|21:01:55] Starting bonding ping/pong id=33c0695b8d4f9ff6 known=false failcount=0 age=424221h1m55.666391609s<br>
TRACE[05-24|21:01:55] >> PING/v4 addr=172.31.20.13:3003 err=nil
Aber wenn ich denselben Befehl auf einer anderen Instanz (Knoten) ausführe
geth --networkid 1337 --datadir "./mydatadir" --bootnodes "enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310" --port 3004 --ipcdisable --syncmode full console
Der Knoten wird erfolgreich gestartet, aber ich sehe keine Interaktion mit dem Bootnode, und wenn ich den Befehl admin.peer auf beiden Knoten eingebe, erhalte ich eine leere Liste. Mache ich etwas falsch? Bitte hilf mir
Sie müssen auch die UPD-Regel für aktivieren
30310 Aktualisierungsregel in Sicherheitsgruppe
für eine ec2-Instanz, auf der bootnode ausgeführt wird.
nike doke