Peers zu einem privaten Blockchain-Netzwerk hinzufügen?

Ich habe ein privates Blockchain-Netzwerk unter Windows OS erstellt, indem ich zwei cmd-Konsolen verwendet habe.

Ich folge diesem Link, um ein privates Netzwerk einzurichten.

Schritte:

geth --datadir="d:/tmp/eth" -verbosity 6 --ipcdisable --port 30301 --rpcport 8101 console 2>> d:/tmp/eth/01.log


geth --datadir="d:/tmp/eth02" --verbosity 6 --ipcdisable --port 30302 --rpcport 8102 console 2>> d:/tmp/eth02/02.log

Ich habe versucht, einen Peer hinzuzufügen, indem ich den folgenden Befehl ausgab:

admin.addPeer("enode://f2157f8b90debf68e52bced6352cd08d942d24bdebc1ee734776f5560be86100bd256a5621868345799b044a5630c5cee3b40f1b105bdc03ce2da0be4e2c1dc1@0.0.0.0:30301")

Der obige Befehl gibt true zurück, aber wenn ich admin.peers überprüfe, gibt er ein leeres Array zurück.

Antworten (2)

Sie laufen hier nicht auf einer privaten Blockchain. Zwei wichtige Dinge für den Start einer privaten Blockchain sind die Genesis-Datei und ein separates Netzwerk. Sie können den Pfad zur Genesis-Datei mit dem initBefehl angeben und mit dem Befehl in einem separaten Netzwerk arbeiten --networkid.

Überprüfen Sie vor dem Verbinden mit Peers, ob net.listeningder Befehl in der JavaScript-Konsole true zurückgibt . Wenn sich beide Knoten auf demselben Gerät befinden, verwenden Sie 127.0.0.1als IP-Adresse (anstelle von 0.0.0.0). Wenn sich beide Knoten im selben WLAN befinden, verwenden Sie die private IP-Adresse des Geräts. Wenn sie sich in einem anderen Netzwerk befinden, verwenden Sie die öffentliche IP-Adresse.

Hier finden Sie einige nützliche Links .

Zusätzlich zu Galahads Antwort, wenn Sie mehr Instanzen (Knoten) auf demselben Host ausführen, verwenden Sie für jede Instanz unterschiedliche Ports. Andernfalls hört nur ein Peer auf 30303.

Alle nachfolgenden Peers können sich nicht an 30303 binden. Geben Sie immer eine IPv4-Adresse für den Peer an. Meines Wissens unterstützen Ethereum-Clients (zumindest in Pyethapp) (noch) keine Netzwerknamensauflösung.