Benutzerhandbuch: Transaktionen und fehlgeschlagene Transaktionen
Neu bei Krypto und Web3?
Besuchen Sie MetaMask Learn für eine einfache Lernerfahrung, die speziell für Web3-Neulinge entwickelt wurde. MetaMask ist völlig kostenlos, in mehreren Sprachen verfügbar und enthält nützliche Tools wie beispielsweise Simulationen, die Ihnen helfen, sich in MetaMask zurechtzufinden.
Dieser Artikel erklärt und verweist auf Quellen, die sich mit Transaktionen und den Gründen für ihr Scheitern befassen. Ferner enthält er Links zu gängigen Szenarien für fehlgeschlagene Transaktionen und der entsprechenden Problemlösung:
- Aufbau einer Blockchain-Transaktion
- Häufige Probleme
- Wichtigste Fehlerbehebungsansätze
- Weitere Ressourcen und nächste Schritte
- FAQs
Anatomy of a blockchain transaction
Wenn wir in einem öffentlichen Blockchain-Netzwerk von „Transaktionen” sprechen, meinen wir in der Regel den Datenaustausch zwischen zwei Adressen, d.h. Token, ob fungibel oder nicht, oder andere Krypto-Vermögenswerte, die von einer Adresse an eine andere „geschickt” werden. Es gibt außerdem Transaktionen, die als „interne Transaktionen” bezeichnet werden. Dabei handelt es sich um Beziehungen zwischen Smart Contracts – die den Rahmen dieses Artikel jedoch sprengen würden.
Möchten Sie mehr Informationen?
Weitere Informationen zu Blockchain-Netzwerken und ihrer Funktionsweise im Allgemeinen finden Sie in unserem Einführungsartikel hier. Und wenn Sie auf unbekannte Wörter stoßen, steht Ihnen unser Glossar jederzeit zur Verfügung.
Zur Klarstellung sei darauf hingewiesen, dass nichts tatsächlich versendet wird. Ein Smart-Contract-fähiges Blockchain-Netzwerk wie Ethereum verfügt über eine Reihe verschiedener Komponenten oder Funktionen. Eine davon ist das, was wir einen „Computer“ nennen würden: die Ethereum Virtual Machine oder EVM, die in der Lage ist, Programme („Smart Contracts“) auszuführen. The backbone of the system, however, is a distributed ledger: imagine a spreadsheet that contains, on one side, every single Ethereum account address, and each address has a column for each type of crypto-asset that it holds.
Das kann am besten an einem Beispiel erklärt werden. Nehmen wir an, dass Guillaume eine Transaktion an Dolores senden möchte. Guillaume hat 1,36 ETH auf seinem Konto und möchte Dolores 0,5 ETH senden. Klingt nach einem guten Tag für Dolores, sogar in einem Bärenmarkt.
Guillaume opens up his MetaMask, enters Dolores' address, configures the gas parameters that he's comfortable with paying, and hits'send'.
An dieser Stelle wechselt die Transaktion in einen lokalen temporären Haltestatus, der als lokaler Memory Pool oder lokaler Mempool bezeichnet wird. Die Transaktion wird dann vom nächstgelegenen Node im Netzwerk „abgeholt“. Je nach Guillaumes Gaseinstellungen wird seine Transaktion entsprechend priorisiert (je mehr Guillaume bereit ist, pro Gaseinheit zu bezahlen, desto schneller wird seine Transaktion verarbeitet) und an andere Nodes im Netzwerk weitergeleitet. Die Nodes überprüfen, ob Guillaume die ETH besitzt, die er ausgeben möchte, und führen dann die „Transaktion” durch: Der Ledger wird aktualisiert. Von Guillaumes Konto werden 0,5 abgebucht und Dolores gutgeschrieben.
_„Der sich bewegende Finger schreibt, und wenn er geschrieben hat, bewegt er sich weiter“: Ein _ ETH bewegt sich nicht per se durch ein Netzwerk. Es wurde keine E-Mail von Guillaumes Computer an Dolores‘ MetaMask-Posteingang gesendet oder etwas in der Art. Guillaume hat eine anhand seiner privaten Schlüssel über MetaMask authentifizierte Anfrage an das Netzwerk gesendet, sein Konto zu belasten und den entsprechenden Betrag Dolores‘ Konto gutzuschreiben. Dieser Anfrage wurde nach der Programmierung des Verifizierungsvorgangs in die Protokolle des Netzwerks nachgekommen.
Das ist das Wesen einer Transaktion: Eine Anfrage an den Ledger, die Umverteilung eines bestimmten Betrages an eine andere Adresse durchzuführen.
When things go wrong
Es kann aus diversen Gründen etwas schiefgehen. Oft sind die Probleme „softwaretechnischer Natur” – MetaMask hat eine Störung, das Netzwerk wurde falsch konfiguriert oder es liegt ein Verbindungsfehler vor.
Ein häufiges Problem ist, dass der Benutzer beim Versuch, weniger für seine Transaktion zu bezahlen, ein sehr niedriges Gaslimit festlegt und die Netzwerke so überlastet sind, dass in keinem Block Platz für eine derart „preiswerte Transaktion” ist — manchmal auch für einen sehr langen Zeitraum. Irgendwann ist die Transaktion „veraltet” und muss vom Benutzer storniert werden.
Wenn Sie eine Transaktion gesendet haben und diese noch nicht abgeschlossen ist, wird ihr Status in MetaMask als „Ausstehend” angezeigt.
If you sent a transaction, and it failed, the most likely cause is a lack of gas: you "ran out of gas", in other words, the transaction had a cost in gas that, when multiplied by the gas price, resulted in a total amount of the network's native currency that was greater than what you had in your account.
Info
Näheres zur Gasberechnung finden Sie in unserem Gasleitfaden hier.
Die Gründe dafür können vielfältig sein. Eines sollten Sie jedoch berücksichtigen – die Art der von Ihnen durchgeführten Transaktion. Das Prägen eines NFT während der Spitzenzeiten des Netzwerkverkehrs kann sehr gasintensiv sein. Wenn Sie eine neue oder experimentelle Transaktion ausprobieren, kann es sich lohnen, sie in einem Testnetzwerk auszuprobieren, bevor Sie echte Live-Netzwerkgebühren bezahlen.
Fixing the problem
Key Factor #1: local or broadcast to network
Bei der Diagnose Ihres Transaktionsproblems, insbesondere wenn es sich um eine ausstehende Transaktion handelt, müssen Sie prüfen, ob sich die Transaktion noch in Ihrem lokalen Mempool befindet, oder ob sie es ins Netzwerk geschafft hat und dort aus irgendeinem Grund steckengeblieben ist. If it is just in your local mempool, the solution could be as simple as locking, and unlocking, your MetaMask (make sure you know your password and have your Secret Recovery Phrase backed up before you do). Befindet sie sich bereits im Netzwerk ist die Lösung nicht so einfach.
Mehr über die Fehlerbehebung finden Sie in den folgenden Links.
Key Factor #2: Nonce
Dieses Wort kann verschiedene Dinge bedeuten. Es ist eine Kontraktion von „nur einmal verwendete Zahl“ (engl.: number only used once). In diesem Zusammenhang bedeutet dies grob „Transaktionsnummer“, beginnend mit der ersten Transaktion, die von der Senderadresse durchgeführt wird. You can get yourself into real trouble if, for example, you're firing two different transactions from different instances of MetaMask with the same account address at the same time. Die Transaktionen Ihrer Adresse müssen in aufsteigender Reihenfolge nach ihrer Nonce geordnet sein. So wie Nonces jedoch eine festgefahrene Transaktion verursachen können, können sie auch der Schlüssel sein, um eine Transaktion wieder in Gang zu bringen.
For more on that technique, see here.
Next steps
Bei fehlgeschlagenen oder ausstehenden Transaktionen können Sie die folgenden Informationsquellen zurate ziehen.
How to send tokens from your MetaMask account
So beschleunigen oder stornieren Sie eine ausstehende Transaktion.
Warum ist meine Transaktion mit dem Fehler „Kein Gas” fehlgeschlagen? Wie kann ich das beheben?
Kann ich eine bereits bestätigte Transaktion rückgängig machen?
FAQs
Frage: In einem Konto in meiner Wallet gibt es eine ausstehende oder sich in der Warteschlange befindende Transaktion. Kann ich eine andere Transaktion von einem anderen Konto in derselben Wallet durchführen?
A: Ja, Sie können. Die Nonce wird pro Konto und nicht pro Wallet gezählt.