GETH bleibt nach dem Synchronisierungsversuch immer hängen

Ich möchte Ether schürfen und versuche seit Tagen, Blockchains zu synchronisieren.

Ich habe versucht, geth --fastden Befehl zu verwenden, und es blieb immer wie auf dem Bild hängen.

Bildschirmfoto

Auf meinem Computer läuft 64-Bit-Windows 10 mit installiertem Geth 1.4.10. Ich habe auch versucht, es zu verwenden, geth --rpcaber es gab mir das gleiche Ergebnis. Ich hatte vermutet, dass es daran lag, dass mein ISP die P2P-Verbindung blockiert, aber nachdem ich versucht habe, eine Verbindung über VPN herzustellen, hat sich nichts geändert.

Ich habe meine Zeitsynchronisierung bereits auf time.nist.gov eingestellt, wie einige Soln, die ich gefunden habe, vorschlagen.

Außerdem habe ich Probleme mit MIST, wenn ich beim Start ohne Fortschritt auflege, um Peers zu suchen.

Was soll ich tun, um dieses Zeug zu erledigen?

Ist admin.peersauch leer? (Ich nehme an, es wäre, wenn Sie "nach Peers suchen" stecken bleiben.) Stellen Sie sicher, dass die TCP- und UDP-Ports 30303 ordnungsgemäß durch jede Firewall weitergeleitet werden, die Sie möglicherweise haben.
@RichardHorrocks Ja, net.peerCountgibt 0 zurück. Ich habe manuell versucht, eine Verbindung zu Peer herzustellen, admin.addPeer()aber es ist fehlgeschlagen.

Antworten (1)

Ich denke, der Hinweis hier ist die Meldung „WARNING: Wrote default Ethereum genesis block“.

Ich würde versuchen, das Standarddatenverzeichnis umzubenennen (siehe Keine Synchronisierung aufgrund von „unbehandelter Trie-Fehler: fehlender Trie-Knoten“ für Pfade) und dann versuchen geth --fast console.

Sie können den Schlüsselspeicher innerhalb des Datenverzeichnisses von Ihrem alten Datenverzeichnis in Ihr neues Datenverzeichnis kopieren, um Ihre Konten zu speichern. Und wenn erfolgreich, dann entfernen Sie Ihr altes umbenanntes Datenverzeichnis

Alternativ können Sie versuchen geth removedb, die Blockchain und die Zustandsdatenbank zu entfernen. Dann laufen geth --fast console.



Die Warnung

Die Warnung wird von go-ethereum - eth/backend.go, Zeilen 239-248 ausgegeben , und es scheint, dass gethder Genesis-Block nicht gefunden werden kann, also schreibt er einen neuen. Der Quellcode folgt:

// load the genesis block or write a new one if no genesis
// block is prenent in the database.
genesis := core.GetBlock(chainDb, core.GetCanonicalHash(chainDb, 0))
if genesis == nil {
    genesis, err = core.WriteDefaultGenesisBlock(chainDb)
    if err != nil {
        return nil, err
    }
    glog.V(logger.Info).Infoln("WARNING: Wrote default ethereum genesis block")
}
Danke für die Antwort! Wie soll ich das defaultdir nennen? Ich habe es bereits versucht, removedbbevor ich die Frage poste, aber es hat nicht geholfen.
Normalerweise benenne ich mein Verzeichnis {alter Verzeichnisname}_pre_20160723 um. Das removedbentfernt die Kettendaten, aber nicht die Konfigurationen.