Geth oder Mist synchronisieren nicht mehr [duplizieren]

Ich bin neu bei Ethereum, habe es aber geschafft, Geth auf 2 meiner Maschinen erfolgreich zu starten, und konnte auch MIST installieren. Seit einigen Tagen synchronisiert sich einer meiner Rechner nicht mehr mit dem Testnetz. Ich starte Geth mit geth --testnet consoleIch sehe diese Zeilen

0228 19:31:57.086460 eth/backend.go:191] Protocol Versions: [63 62], Network Id: 3
I0228 19:31:57.086640 eth/backend.go:219] Chain config: {ChainID: 3 Homestead: 0 DAO: <nil> DAOSupport: true EIP150: 0 EIP155: 10 EIP158: 10}
I0228 19:31:57.089224 core/blockchain.go:217] Last header: #524061 [ac6dd60d…] TD=166615159323361
I0228 19:31:57.089241 core/blockchain.go:218] Last block: #524061 [ac6dd60d…] TD=166615159323361
I0228 19:31:57.089248 core/blockchain.go:219] Fast block: #524061 [ac6dd60d…] TD=166615159323361

Dann wird der Server gestartet, der Endpunkt öffnet sich, admin.peersgibt mir aber eine leere Antwort . []Es ist kein Zeitsynchronisierungsproblem, da ich versucht habe, mit NTP zu synchronisieren, aber ohne die Uhr zu ändern. Das Produktionsnetz scheint zu funktionieren, da Blöcke importiert wurden.

Das Stoppen von geste und das Starten von MIST browser hat das gleiche Ergebnis.

Hat jemand eine Idee, was ich tun könnte, um das Testnet neu zu starten? was muss ich speichern, damit ich meine testaccounts nicht verliere? (Ich denke, die UTC--xxx-Dateien von testnet/geth/keystore.)

Bei meiner anderen Maschine ist der neueste Block (im Testnetz) 588099. Es begann mit

Block synchronisation started
Synchronisation failed: block download cancelled (requested)
imported block 588100 and then 
Peer xxxxxx: header #596654 broke chain ancestry

wäre für jede hilfe dankbar

Antworten (1)

Es gibt aktuell (noch?) einen Angriff auf das Ropsten-Testnetz:

Ropsten Testnet wird angegriffen? Was können wir tun?

was muss ich speichern, damit ich meine testaccounts nicht verliere? (Ich denke, die UTC--xxx-Dateien von testnet/geth/keystore.)

Ja, sichern Sie Ihr ~/.ethereum/testnet/keystore/Verzeichnis, bevor Sie etwas anderes tun. (Offensichtlich ist es nur das Testnetz, aber es erspart Ihnen möglicherweise zukünftigen Ärger.)

Hat jemand eine Idee, was ich tun könnte, um das Testnet neu zu starten?

Es gibt eine Reihe von Anweisungen für Benutzer von Parity in dem Thread, den ich oben gepostet habe, der im Grunde eine Soft-Fork ausführt, kurz bevor der Spam-Angriff begann.

Da Sie Geth und nicht Parity verwenden, könnten Sie versuchen, die Kette neu zu initialisieren, um die geänderte ropsten-revert.jsonDatei zu verwenden, die von den Parity-Leuten erstellt wurde. Ich denke , die Verwendung des initBefehls in Geth wird das gleiche Ergebnis liefern wie das --chainFlag in Parity. Beachten Sie, dass ich dies in Geth nicht ausprobiert habe , sodass Ihre Laufleistung variieren kann.

  • Entfernen Sie Ihren aktuellen ~/.ethereum/testnet/chaindataOrdner
  • (Ich weiß nicht, wie ich von einem Snapshot wiederherstellen soll, wie im Parity-Fall. Vielleicht ist das auf Geth nicht einmal möglich.)
  • Mit der neuen .jsonDatei initialisieren:geth --testnet init <path/to/ropsten-revert.json>
  • Starten Sie Geth mit den Optionen, die Sie normalerweise verwenden, z.geth --testnet --fast --rpc --rpcapi db,eth,net,web3,personal --cache=1024 --rpcport 8545 --rpcaddr 127.0.0.1 --rpccorsdomain "*"
Ich kann bestätigen, dass dies für Geth funktioniert.
Ergebnis mit geth: "Schwerwiegend: ungültige Genesis-Datei: fehlendes erforderliches Feld 'gasLimit' für Genesis", aber gasLimit ist dort und hat das Präfix 0x