Kann Geth mit zwei Datenverzeichnissen ausgeführt werden (eines für die vollständige Blockchain, eines für die Option --fast)?

Ich leite sowohl Geth als auch Mist. Ich weiß, dass ich Geth ausführen, Geth mit Konsole ausführen, Geth ausführen und die Konsole in einem neuen Terminal anhängen sowie Mist alleine ausführen kann. Aus irgendeinem Grund scheint Mist nicht hochzufahren, wenn Geth bereits läuft ...

In jedem Fall möchte ich eine Analyse im Live-/Hauptnetz durchführen, also möchte ich die vollständige Blockchain herunterladen und die schnelle Version für Transaktionen haben, wenn die vollständige Blockchain für ein paar Tage nicht vollständig synchronisiert ist.

Ist dies möglich/empfohlen, indem Sie einfach eines von zwei separaten Datenverzeichnissen angeben, die ich explizit aufrufe, wenn ich geth ausführe, je nachdem, ob ich die vollständige Blockchain mit geth oder die leichte Blockchain mit geth --fast aktualisieren möchte?

Antworten (1)

Ja.

Verwenden Sie --datadirfür Geth. Sie müssen nur darauf achten, nicht zu verwechseln oder die Angabe von zu vergessen, wenn--datadir Sie Geth-Befehle ausführen. Dies kann auch verwendet werden, um verschiedene Testnetze oder private Ketten zu haben.

Auf die von Geth verwendete Datenbank kann nur von einem Prozess zugegriffen werden: Es --datadirkann immer nur eine Instanz mit einem gegebenen Wert gleichzeitig laufen. Mist führt auch Geth aus, daher müssen Sie möglicherweise auch How to set a different datadir in Mist?

Das ist hilfreich, was die tatsächliche Gefahr des Mischens von Befehlen ist. Wie in, führe ich --fast auf der langsamen Kette datadir aus oder umgekehrt?
Durch das Verwechseln von Befehlen, z. B. Geth mit dir1 und dann Geth-Konsole mit dir2, erwarten Sie möglicherweise bestimmte Blöcke und Transaktionen in der Konsole, sehen sie aber nicht, weil Sie auf der Kette dir1 arbeiten. Das Verwechseln eines Testnetzes oder einer privaten Kette mit dem Hauptnetz kann auch dazu führen, dass das Hauptnetz die andere Kette überschreibt, da das Hauptnetz "länger" ist. Im Allgemeinen kann das Verwechseln von Befehlen zu einem Verhalten führen, das sehr verwirrend erscheint, bis die Verwechslung entdeckt wird.