Problem beim Einrichten eines privaten Ethereum-Netzwerks auf AWS mit Bootnode

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

Mein Fehler, ich habe es zum Laufen gebracht, hatte Probleme mit Sicherheitsgruppen auf AWS. PS: Ich bin neu bei AWS

Antworten (1)

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.