Transaktionen manuell erstellen

Wie würde der Pseucode zum Erstellen einer Transaktion mit den folgenden Funktionen aussehen, da keine Dokumentation zu diesem Thema vorliegt: createrawtransaction signrawtransactionund sendrawtransaction.

Ich erhalte die Benutzertransaktion für eingehende Münzen auf IncomingTxID. Wenn ich eine Rohtransaktion erstelle, möchte ich mindestens einige dieser Münzen einbeziehen. Wenn sie also nicht bestätigen, wird seine Auszahlung auch nicht.

Wie das geht, ist dokumentiert in Mastering Bitcoin (1. Aufl.), § „Using Bitcoin Core's JSON-RPC API from the Command Line“ , §§ „Creating, Signing, and Submitting Transactions Based on Unspent Outputs“.

Antworten (2)

Ich gehe davon aus, dass Sie etwas erreichen wollen, das dem von SatoshiDice ähnelt. So kann es mit API-Aufrufen mit dem Bitcoin-Qt/bitcoind-Client gemacht werden:

  1. listunspent- Sie erhalten die Liste aller nicht ausgegebenen Transaktionen

  2. Sie bestimmen, welche Sie ausgeben möchten

  3. Sie verwenden createrawtransaction, um Ihre Ein-/Ausgaben zu erstellen, indem Sie txiddie voutListe der Transaktionen nehmen, die Sie spielen, sowie eine Liste der Transaktionen, die für Sie eine "Geldversorgung" darstellen.

  4. Verwenden Sie signrawtransactionzum Signieren der erstellten Transaktion

  5. Verwenden Sie sendrawtransactionzum Senden der signierten Transaktion

Das sollte so ungefähr sein. Ich habe einen Teil dieses Codes selbst implementiert und es ist ziemlich einfach, wenn Sie den Dreh raus haben.

Ein bisschen Vorsicht – bei der Rohtransaktion gehen alle verwendeten Inputs, die nicht vollständig ausgegeben werden, an den Miner. Seien Sie also sehr vorsichtig, wenn Sie Rohtransaktionen zusammenstellen.
Wie sieht es mit der Gebührenberechnung aus?
@Shamoon bitcoinfees.com - Sie basieren auf der Anzahl der Ein- und Ausgänge.

Eine gute Möglichkeit, dies zu sehen (und auch eine nicht automatisierte Methode, dies zu tun), ist über BrainWallet verfügbar:

Ein bisschen Vorsicht – bei der Rohtransaktion gehen alle verwendeten Inputs, die nicht vollständig ausgegeben werden, an den Miner. Seien Sie also sehr vorsichtig, wenn Sie Rohtransaktionen zusammenstellen.