Knoten im privaten Netzwerk verbinden

Ich habe zwei Ubuntu-Systeme mit installiertem Ethereum. Ich habe den Knoten in jedem System mit dem folgenden Befehl gestartet: -

geth --datadir 'path of node folder' init 'path of genesis.json'
geth --datadir 'path of node folder' --networkid 12512 console

Die Systeme sind mit einem lokalen Netzwerk verbunden. Die Genesis-Datei in beiden Systemen ist gleich. Die Zeit ist synchron. Aber wenn ich admin.addPeer ("enode@ip:port") ausführe, erhalte ich net.peerCount als 0. Beim Ping der IP von einem System zum anderen ist kein Fehler aufgetreten. Das Ausführen von 'netstat -ntpl' ergab Folgendes:

machine 1: tcp6 0 0 :::30303 :::* LISTEN 3423/geth
machine 2: tcp6 0 0 :::30303 :::* LISTEN 3028/geth

Jede Hilfe ist willkommen.

fügen Sie --nodiscover zu Geth-Knoten hinzu, um die Standarderkennung zu stoppen.
Dies ist kein Duplikat, da in der anderen Frage die Lösung darin bestand, Peers manuell hinzuzufügen. In dieser Frage hat das OP diesen Fehler nicht gemacht, daher wird die Lösung notwendigerweise anders sein.

Antworten (1)

Ich musste zwei Dinge tun:

1. UPnP in meinen Netzwerkeinstellungen aktivieren.

2. 'Nichtübereinstimmung des Genesis-Blocks'. Obwohl ich in beiden Knoten die gleiche Genesis-Datei hatte, bekam ich diesen Fehler. Also habe ich es durch Folgendes ersetzt: -

{
  "nonce": "0x0000000000000042",
  "timestamp": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "extraData": "0x0",
  "gasLimit": "0x8000000",
  "difficulty": "0x400",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x3333333333333333333333333333333333333333",
  "alloc": {
   }
}

von https://souptacular.gitbooks.io/ethereum-tutorials-and-tips-by-hudson/content/private-chain.html "

Dadurch wurde das Verbindungsproblem behoben.