Ich versuche, eine schnelle Synchronisierung mit durchzuführen, geth --fast
aber ich erhalte diese Meldung:
Blockchain nicht leer, schnelle Synchronisierung deaktiviert
Wie kann ich die Blockchain leeren, um eine schnelle Synchronisierung zu ermöglichen?
Um Ihre Blockchain mit Geth zu entfernen, führen Sie Folgendes aus: geth removedb
Then:
Verwenden --fast
Sie aber wahrscheinlich auch brauchen --cache=1024
(und --jitvm
können auch helfen). Ohne sie werden Sie mit dem Standard ausgeführt, der --cache=16
.
Eine Geschwindigkeitssteigerung von 50 % ist nur durch Erhöhen des Caches möglich.
Wenn Sie von vorne beginnen, verwenden Sie:geth --fast --cache=1024 --jitvm
Abhängig von Ihrem Arbeitsspeicher können Sie es auch mit höheren Werten versuchen, z --cache=2048
.
HINWEIS: Die Zahl danach --cache=
ist die Speichermenge, die der Aufgabe des Herunterladens der Blockchain zugewiesen ist!!
Die Voreinstellung datadir
ist:
Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum
Löschen chaindata
Sie das gefundene Unterverzeichnis.
Führen Sie geth --fast --cache=1024
einen empfohlenen Weg aus, um die Kette schnell zu synchronisieren (vergessen Sie nicht, einen größeren --cache
Wert mit einem Wert wie 1024 zu verwenden, da sonst der Standardwert 16 ist und nicht so schnell synchronisiert wird).
EDIT: Laufen geth removedb
ist der einfachste Weg, um die Blockchain in Geth zu löschen.
Wenn Sie Ihre Blockchain beim Start teilweise oder vollständig importiert haben geth
, wird die Verwendung des --fast
Flags ignoriert (das Flag ist deaktiviert). Um die --fast
Flagge zu verwenden, müssen Sie alle Daten aus Ihrem chaindata
Ordner entfernen.
verwenden
geth --fast --cache=2048
anscheinend bietet zumindest der Mac die anderen Optionen unter go1.9.2 nicht an:
flag provided but not defined: -jitvm
--fast
Flags erlaubten keinen Neustart von Geth, bis die Synchronisierung abgeschlossen war. Wenn Sie neu gestartet haben, wechselt es in den vollständigen Modus.
Derek
geth removedb
(kein Bindestrich) sein solltesudo
geth --fast
es bereits läuft? Ich möchte es langfristig laufen lassen, um RPC-Anfragen zu beantworten, möchte aber nicht, dass es meine Festplatte auffrisst.sudo
geth removedb
während der Ausführung in einer separaten Shellgeth --fast
ausgeführt werden. Ich hatte keine Probleme damit, dann ein paar xacts danach zu senden, aber ich weiß nicht, ob es sicher ist. Docs sagen nichts.