Mittwoch, 16. August 2017

Bitcoin Transaction kommt nicht an

Meist sind zu niedrige Gebühren schuld, dass Bitcoin Transaktionen unbestätigt bleiben. Dieses liegt m.E. vor allem an der schlechten Bitcoin-Core GUI und es kann zu leicht passieren, dass zu geringe Gebühren berechnet werden und die Transaction auch nach Tagen noch “unconfirmed” ist.

Nun hat man mehrere Möglichkeiten:
  • Noch länger warten und hoffen
  • Ist man Empfänger kann man per “Child-Pays-For-Parent” versuchen mit höheren Gebühren die eingehende Transaktion direkt weiter zu verwenden
  • Die Transaktion “übersteuern” indem die gleichen Coins “nochmal”, dieses mal mit höheren Gebühren, ausgegeben werden (double spending)
  • Durch das Verfahren “Replace by Fee (RBF)” könnte man noch im Nachgang die Gebühr erhöhen. Dazu hätte aber der Bitcoin Core Client vorher mit der Option “-walletrbf” gestartet werden müssen um RBF-Transaktionen zu erstellen.

Meist ist das nicht der Fall. Ich gehe daher wie folgt vor:

  • Zunächst verhindere ich, dass meine Transaction von meinem Client erneut gesendet wird. Dieses erreiche ich, in dem ich den Bitcoin Core Qt client mit der Option -walletbroadcast=0 starte
  • In der GUI suche ich die betreffende Transaktion, wähle diese aus und wähle “Abandon transaction”. Was in der deutschen GUI etwas sperrig mit “Transaction einstellen” übersetzt ist.
  • Wenn das Feld ausgegraut ist, kann man versuchen den Befehl über per RPC abzusetzen. Hierzu kopiert man sich vorher die Transaktions ID und führt den Befehl abandontransaction <txid> im Debug Fenster / Konsole aus.

Falls die Fehlermeldung

Transaction not eligible for abandonment (code -5)

erscheint, beende ich den Bitcoin core client, suche das Daten-Verzeichnis und Lösche die Datei “mempool.dat”.

Danach starte ich den Client erneut und nun sollte “Transaktion Einstellen” auswählbar sein bzw. der RPC Befehl abandontransaction erfolgreich durchgeführt werden.

Später wieder daran denken die Option -walletbroadcast zu entfernen.