Etherscan zeigt tx kein Benzin mehr an, schließt aber trotzdem ab

Es scheint, dass es irgendwie möglich ist, kein Benzin mehr zu haben, aber die Transaktion wird trotzdem abgeschlossen? Das widerspricht meinem Verständnis von Ethereum. Wenn Ihnen das Benzin ausgeht, werden alle Änderungen rückgängig gemacht. Was bedeutet dieser Fehler von Etherscan?

Although one or more errors occured [Out of gas] contract execution completed

Der Bergmann wird trotzdem für die Arbeit entschädigt. Die Transaktion ist gültig, obwohl keine Statusänderungen vorgenommen wurden.
Es ist auch möglich, sich von OOG für interne Transaktionen zu erholen. Es kann hilfreich sein, wenn Sie die Transaktion vorzeigen.
Danke für die hilfreichen Infos. Ich bin mir immer noch nicht sicher, was mit diesem TX los ist. etherscan.io/tx/…

Antworten (1)

Solange die Transaktion gültig ist (d. h. keine fehlerhaften Signaturen, fehlerhafte Nonce usw.), wird die Transaktion auch dann abgeschlossen , wenn ihr das Benzin ausgeht . Ob die Transaktion irgendwelche Statusänderungen vorgenommen hat oder nicht, ist eine andere Geschichte.

Was ist, wenn wir sagen, dass OOG-Transaktionen nicht gültig sind und sich nicht in einem gültigen Block befinden können und Bergleute für die Arbeit nicht entschädigt werden?

Stellen Sie sich einen Angreifer vor, der eine Reihe rechenintensiver Funktionsaufruftransaktionen sendet, aber er stellt sicher, dass jede dieser Transaktionen am Ende fehlschlägt. Bergleute würden sie betreiben, Rechenleistung verschwenden und keine Gegenleistung erhalten. Dies ist effektiv ein DOS-Angriff auf die Blockchain.


Ein paar Worte zu internen Transaktionen.

Da der Vertrag andere Verträge aufrufen oder Gelder senden kann, kann ein Transaktionsaufruf mehrere interne Transaktionen umfassen. Es ist möglich, von OOG eine interne Transaktion innerhalb Ihrer Transaktion wiederherzustellen.

Wenn Sie nur eine begrenzte Gasmenge an einen internen Transaktionsfunktionsaufruf weiterleiten, kann Ihre interne Transaktion fehlschlagen und OOG. Aber da Sie noch Benzin in Ihrem Haupt-TX haben, kann es schließlich abgeschlossen werden.

Siehe wird eine gesamte Transaktion zurückgesetzt, wenn throw auftritt