Speichern des Zustands im Protokoll vs. in der Vertragsvariablen

Ich habe irgendwo gelesen, dass das Speichern von Werten in Protokollen billiger ist als das Speichern im permanenten Speicher des Vertrags. Ich fragte mich, ob es der Fall ist. Wenn ja, warum?

Allgemeinere Frage : Was sind die Vor- und Nachteile des Speicherns eines Werts in einem Protokoll und des Speicherns in einer Variablen?

Antworten (1)

PROFI

Billiger: Logs kosten 375 Gas für eine LOG-Operation. 375 Gas für jedes Thema. 8 Gas für jedes Byte der Daten einer LOG-Operation. Während die Vertragsspeicherung 20.000 Gas für jeweils 32 Bytes kostet. Siehe gelbes Papier .

CON

Obwohl Protokolle gigantische Gaseinsparungen bieten, sind Protokolle im Gegensatz zur Lagerung nicht über Verträge zugänglich. Protokolle sollen die Kommunikation zwischen Smart Contracts und ihren Benutzeroberflächen erleichtern, nicht zwischen Verträgen.

Zum Weiterlesen sehr zu empfehlen .

Danke für die Antwort. Warum ist das Speichern eines Werts in Protokollen billiger?
Ich denke, der Grund dafür ist, dass Protokolle per se nicht Teil der Blockchain selbst sind, da sie nicht für den Konsens erforderlich sind (es sind nur historische Daten), sie werden jedoch von der Blockchain verifiziert, da die Transaktionsbeleg-Hashes in den Blöcken gespeichert werden. Sehen Sie sich diese Antworten an: ethereum.stackexchange.com/questions/1302/…