Was ist Geths "leichte" Synchronisation und warum ist sie so schnell?

Diese Frage ähnelt den früheren Fragen zu geth --fastund parity --warp.

Es gab kürzlich eine Frage, bei der das OP so wenig Synchronisierung wie möglich durchführen wollte, und eine der Antworten schlug Folgendes vor:

Probieren Sie geth --lightes aus, verfügbar seit v1.5.2. Synchronisierung in Minuten , wenn nicht Sekunden .

Wie ist das möglich? Was wird eigentlich synchronisiert?

Ich habe gerade den Abruf von Ereignissen aus historischen Blöcken mit getestet geth --lightund die Ergebnisse sind etwas instabil - wenn die historischen Daten nicht synchronisiert wurden, werden die Ergebnisse nicht angezeigt. Sobald die historischen Daten synchronisiert wurden, werden die Ereignisse wie ein vollständiger Knoten dargestellt geth. Siehe den Link zur letzten Frage.

Antworten (1)

Ich nehme meine Chance. Experten, korrigiert mich bitte.

  • "Vollständige" Synchronisierung: Ruft die Blockheader und die Blockkörper ab und validiert jedes Element aus dem Genesis-Block.

  • Fast Sync: Holt die Blockheader, die Blockkörper, verarbeitet keine Transaktionen bis current block - 64(*). Dann erhält es einen Snapshot-Status und läuft wie eine vollständige Synchronisierung ab.

  • Light Sync: Ruft nur den aktuellen Zustand ab. Um Elemente zu verifizieren, muss es bei vollständigen (Archiv-)Knoten nach den entsprechenden Baumblättern fragen.

EDIT (*) in neueren Versionen von geth ist es -64

fsMinFullBlocks        = 64              // Number of blocks to retrieve fully even in fast sync
Dies ist eine etwas verwandte Frage - ich hoffe, Ihr Fachwissen kann mein Missverständnis hier beseitigen. Ich möchte eine Karte von Transaktionen zwischen Ethereum-Konten erstellen, um eine Brieftasche zu erstellen. Lässt "schnell" etwas Information aus oder sind die resultierenden Kettendaten die gleichen wie bei Full Sync?
@MikkoOhtamaa Wenn Sie eine weitere Frage haben, stellen Sie sie bitte, indem Sie auf die Schaltfläche „ Frage stellen“ klicken . In diesem Thread geht es um den Lichtmodus .
@MikkoOhtamaa In Kürze erhalten Sie die neuesten Status-, Transaktions- und Empfangsversuche. Aber Sie "verlieren" den alten Verlauf aufgrund der Tatsache, dass Ihr Knoten die Validierungen nicht durchgeführt hat (dh diese Transaktionen ausgeführt hat, um diese Informationen verfügbar zu haben). Zum Beispiel wissen Sie, dass Ihr Konto A E-Ether hat, aber wenn es an einem alten TX liegt, wissen Sie nicht, warum Sie diese Ether haben.
Wenn ich also die Light-Version verwende, kann ich damit ein Token erstellen und Verträge bereitstellen?
@remedcu Andy Grey sagt hier "Ja" (in den Kommentaren)
Was ist mit Snap? --syncmode Blockchain-Sync-Modus ("fast", "full", "snap" oder "light") (Standard: fast)