Owlio
DE
← Blog
AnleitungEinsteiger

Ethereum-Transaktion fehlgeschlagen: Warum Gas berechnet wird

Eine fehlgeschlagene Aktion kann deine Token unverändert lassen und trotzdem ETH kosten. Prüfe den Transaktionsbeleg vor dem nächsten Versuch.

Eine fehlgeschlagene Ethereum-Transaktion kann trotzdem ETH kosten, weil die Ausführung bezahlte Rechenarbeit benötigt, auch wenn die beabsichtigte Aktion rückgängig gemacht wird. Wurde die Transaktion in einen Block aufgenommen und lautet ihr Gesamtstatus Failed, werden ihre Übertragung oder Vertragsänderungen nicht wirksam. Die Ausführungsgebühr wird trotzdem berechnet.

Diese Anleitung gilt für gewöhnliche Ethereum-Mainnet-Transaktionen von einem Konto, das sein Gas selbst bezahlt. Smart Accounts, gesponserte Transaktionen, Börsenauszahlungen und Übertragungen über mehrere Chains können weitere Schritte oder Gebühren haben. Ein fehlgeschlagener Schritt in einer App belegt noch nicht, dass die gesamte Onchain-Transaktion gescheitert ist.

Zuerst feststellen, was tatsächlich fehlgeschlagen ist

Öffne die Transaktion in der Aktivitätsübersicht deiner Wallet und prüfe sie im Explorer für Ethereum Mainnet. Notiere den vollständigen Transaktionshash, den Absender, die Blocknummer und den Gesamtstatus. Diese öffentlichen Angaben kannst du prüfen, ohne etwas zu signieren.

Diese Unterscheidung ist wichtig, denn Ethereum-Belege erfassen das Ausführungsergebnis auf oberster Ebene: Status 0 bedeutet Fehler und 1 bedeutet Erfolg. Ein fehlgeschlagener innerer Aufruf in einer Ablaufspur bedeutet nicht zwingend, dass die gesamte Transaktion gescheitert ist. Lautet der Gesamtstatus Success, untersuche das tatsächliche Ergebnis der Aktion, statt anzunehmen, dass alles rückgängig gemacht wurde.

Gibt es keine Blocknummer und ist die Transaktion noch ausstehend, nutze die Checkliste für ausstehende Transaktionen. Die folgenden Prüfungen beginnen nach der Aufnahme in einen Block. Eine höhere Gebühr für eine bereits fehlgeschlagene Transaktion ändert ihr gespeichertes Ergebnis nicht.

Gebühr und beabsichtigten Betrag getrennt lesen

Suche auf der Seite der fehlgeschlagenen Transaktion nach Transaction Fee, Gas Used und dem effektiven Gas Price, sofern der Explorer diese angibt. Betrachte den beabsichtigten Übertragungsbetrag getrennt. Das Feld Value kann den eingereichten Wert beschreiben, ohne zu beweisen, dass dieser Betrag beim Empfänger ankam.

Bei einer gewöhnlichen Mainnet-Transaktion ergibt sich die berechnete Ausführungsgebühr aus dem verbrauchten Gas mal dem effektiven Preis je Gaseinheit. Die maximale Gebühr und das Gaslimit beschreiben Obergrenzen. Ihre Multiplikation belegt daher nicht, was du tatsächlich bezahlt hast. Die Gasdokumentation von Ethereum erklärt diese Unterschiede.

Dies ist eine Beispielrechnung, keine echte Transaktion und keine aktuelle Gebührenschätzung:

Posten Beispielwert
Beabsichtigte Token-Übertragung 100 Token
Gesamtstatus im Beleg Failed
Verbrauchtes Gas 60,000 Einheiten
Effektiver Gaspreis 5 gwei je Einheit
Ausführungsgebühr 300,000 gwei oder 0.0003 ETH

Ohne weitere Aktivität lässt die fehlgeschlagene Übertragung den Token-Bestand des Absenders unverändert, während sein ETH-Bestand um die Gebühr sinkt. Dieses Beispiel legt weder ein geeignetes Gaslimit fest noch nennt es einen Preis für deine nächste Transaktion.

Ist der Rückgang deiner ETH größer als die verzeichnete Gebühr, untersuche andere Transaktionen desselben Kontos. Rekonstruiere die Belastung nicht anhand eines Portfoliocharts in Dollar: Gleichzeitig können sich die Marktpreise ändern. Stimmen die Mengen auf verschiedenen Anzeigen weiterhin nicht überein, nutze die Checkliste zum Portfoliobestand.

Gasmangel von einem Vertrags-Revert unterscheiden

Der Fehlerleitfaden von Etherscan unterscheidet zwischen einer Ausführung, der das Gas ausgeht, und einem Vertrag, der die Ausführung zurücksetzt. Beides kann eine fehlgeschlagene Transaktion ergeben, erfordert aber unterschiedliche Untersuchungen.

Gas während der Ausführung aufgebraucht: Die Berechnung hat das verfügbare Gas ausgeschöpft. Die versuchten Änderungen werden rückgängig gemacht und das bereitgestellte Gas wird verbraucht. Vergleiche den Gasverbrauch mit dem Limit und lies den Fehler im Explorer. War dies eine legitime Aktion, die du weiterhin ausführen möchtest, nutze die aktuellen Schätzungshinweise der Wallet oder des Protokolls. Kopiere kein altes Limit einer sachfremden Übertragung.

Ausführung zurückgesetzt: Ein Vertrag hat die Ausführung gestoppt und seine Änderungen rückgängig gemacht. Er kann einen Fehler zurückgeben, der eine nicht erfüllte Bedingung erklärt. Die REVERT-Spezifikation lässt ungenutztes Gas übrig. Ein fehlgeschlagener Beleg muss deshalb keinen Verbrauch von 100% des Gaslimits zeigen.

Speichere den genauen Fehler und schlage ihn in der Dokumentation des vorgesehenen Protokolls nach. Ein Explorer kann ihn möglicherweise nicht entschlüsseln, und eine allgemeine Revert-Meldung nennt eventuell keine Ursache. In diesem Fall bleibt die Ursache ungeklärt. Ein größerer Gasvorrat belegt nicht, dass sich die Vertragsbedingung geändert hat.

Gaspreis und Gaslimit sind getrennte Einstellungen. Mehr pro Einheit zu zahlen kann einen Vertrag nicht dazu bringen, eine abgelehnte Aktion anzunehmen. Lockere keine Schutzvorkehrungen und erhöhe keine Limits, nur um eine unverstandene Warnung auszublenden.

Frühere erfolgreiche Schritte vor einem neuen Versuch prüfen

Ein App-Ablauf kann mehrere Transaktionen enthalten. Beispielsweise kann eine Freigabe in einer Transaktion erfolgreich sein und ein späterer Tausch in einer anderen scheitern. Der spätere Fehler macht eine frühere Transaktion nicht rückgängig. Prüfe jeden Hash und seinen Status einzeln.

Halte vor der Freigabe eines weiteren Versuchs Folgendes kurz fest:

  1. Fehlgeschlagene Aktion: Hash, Block, Gesamtstatus und genauer Fehler.
  2. Kosten: Transaktionsgebühr, Gasverbrauch und effektiver Gaspreis.
  3. Weitere Schritte: Hashes und Ergebnisse separater Freigaben, Einzahlungen oder Wiederholungen.
  4. Aktueller Zustand: Token-Menge und jede relevante Protokollposition dieses Kontos im Mainnet.
  5. Grund für einen neuen Versuch: die ermittelte Ursache und was zu ihrer Behebung geändert wurde.

Kannst du den letzten Punkt nicht ausfüllen, bleibt die Ursache bei einer Wiederholung ungeklärt. Wird die neue Transaktion in einen Block aufgenommen, kann erneut eine Gebühr anfallen. Nutze den offiziellen Supportweg des Protokolls mit öffentlichen Transaktionsangaben und halte Seed-Phrase und private Schlüssel geheim.

Eine fehlgeschlagene Aktion erzeugt kein erstattbares Gasguthaben

MetaMask erklärt, dass es die Netzwerk-Gasgebühr nicht einzieht und nicht erstatten kann. Ungenutzter Gasvorrat unterscheidet sich von der bereits für die Ausführung verbrauchten Gebühr. Du musst dich mit keiner Erstattungsseite verbinden, um diesen ungenutzten Vorrat einzufordern.

Ein Portfoliotracker kann Bestände vergleichen helfen, aber seine Gesamtsumme erklärt keinen Vertragsfehler und macht keine Transaktion rückgängig. Bewahre den fehlgeschlagenen Beleg und seine Gebühr als Nachweis dieses Versuchs auf. Vor dem Fortfahren solltest du wissen, welche Aktion scheiterte, was sie kostete und welche Bedingung ein neuer Versuch ändern würde.

Häufige Fragen

Verliere ich die Token, die ich senden wollte, wenn eine Ethereum-Transaktion scheitert?

Bei einer gewöhnlichen Ethereum-Mainnet-Transaktion, deren Beleg auf oberster Ebene einen Fehler meldet, werden die beabsichtigte Übertragung und die Zustandsänderungen der Verträge rückgängig gemacht. Der Absender zahlt trotzdem die Ausführungsgebühr. Prüfe separate Transaktionen und den genauen Token-Vertrag, wenn deine Bestände davon abweichen.

Verbraucht eine fehlgeschlagene Transaktion immer das gesamte Gaslimit?

Nein. Ein Vertrag kann die Ausführung bewusst zurücksetzen, bevor das gesamte verfügbare Gas verbraucht ist. Geht während der Ausführung das Gas aus, wird das bereitgestellte Gas verbraucht. Lies den Gasverbrauch und den Fehlergrund im Beleg, statt aus dem Limit auf das Ergebnis zu schließen.

Behebt ein höherer Gaspreis eine zurückgesetzte Transaktion?

Ein höherer Preis je Gaseinheit ändert die Bedingungen des Vertrags nicht. Ermittle zuerst den Fehler. Gaslimit und Gaspreis sind unterschiedliche Einstellungen, und auch ein neuer Versuch kann scheitern und erneut Gebühren kosten.