Wie kann ich eine vom Netzwerk nicht erkannte Transaktion erneut senden?

Ich habe eine einfache Transaktion gesendet (kein Smart-Contract-Aufruf), während an meinen Geth-Knoten keine Peers angeschlossen waren. Es erstellte die Transaktion fein und gab eine Transaktionskennung zurück.

Selbst wenn jetzt viele Knoten verbunden sind, kann ich diese Transaktion in keinem Block-Explorer finden. Ich nehme an, das bedeutet, dass es nicht ausgestrahlt wurde?

Wie kann ich die Transaktion erneut übertragen?

Antworten (2)

Verwenden eth.pendingTransactionsSie einfach, um die Transaktion zu finden, die Sie erneut senden möchten.

Dann

var tx = eth.pendingTransactions[index], wobei index durch den Index der Transaktion ersetzt wird, die Sie erneut senden möchten.

Dann

eth.resend(tx, <optional gas price>, <optional gas limit>).

Auf diese Weise können Sie den Gaspreis und das Gaslimit der erneut gesendeten Transaktion ändern.

Aus den Dokumenten .

Tolle Erklärung, aber angesichts der Anzahl der Schritte und der Tatsache, dass Code beteiligt ist, weiß ich nicht, ob Sie mit "nur" davonkommen :)
Beachten Sie, dass pendingTransactions ein Array und keine Funktion ist, sodass Sie die erste ausstehende Transaktion mit var tx = eth.pendingTransactions[0]ohne Klammern abrufen würden.
eth.resend(eth.pendingTransactions[0]) Error: Transaction 0885f7449756ae676259370a7c20dcf1c983f4276b7b333de505460928c1b164 not found

Für das, was es wert ist, etwas verwandt.

Ich habe eine Transaktion MetaMaskmit niedrigem Gaspreis gesendet.

Ich suchte nach einer Lösung, um es zu beheben.

Glücklicherweise MetaMaskbietet eine bequeme Lösung:

Geben Sie hier die Bildbeschreibung ein

(tolles Feature, danke Entwickler)