Erstellen einer Rohtransaktion mit Bitcoin Core v0.10.0 bitcoin-tx / createrawtransaction

Ich versuche, eine Rohtransaktion mit Bitcoin Core v0.10.0 (unter Windows 7 x64 und mit Option txindex=1) zu erstellen.

Bitcoin Core v0.10.0 wird mit einem neuen ausführbaren Bitcoin-tx- Dienstprogramm geliefert. Das Hilfemenü sieht wie folgt aus (unter Windows 7 x64):

Bitcoin Core bitcoin-tx utility version v0.10.0

Usage:
  bitcoin-tx [options] <hex-tx> [commands]  Update hex-encoded bitcoin transaction
  bitcoin-tx [options] -create [commands]   Create hex-encoded bitcoin transaction

Options:
  -?                      This help message
  -create                 Create new, empty TX.
  -json                   Select JSON output
  -txid                   Output only the hex-encoded transaction id of the resultant transaction.
  -regtest                Enter regression test mode, which uses a special chain in which blocks can be solved instantly.
  -testnet                Use the test network

Commands:
  delin=N                Delete input N from TX
  delout=N               Delete output N from TX
  in=TXID:VOUT           Add input to TX
  locktime=N             Set TX lock time to N
  nversion=N             Set TX version to N
  outaddr=VALUE:ADDRESS  Add address-based output to TX
  outscript=VALUE:SCRIPT Add raw script output to TX
  sign=SIGHASH-FLAGS     Add zero or more signatures to transaction
      This command requires JSON registers:
      prevtxs=JSON object
      privatekeys=JSON object
      See signrawtransaction docs for format of sighash flags, JSON objects.

Register Commands:
  load=NAME:FILENAME     Load JSON file FILENAME into register NAME
  set=NAME:JSON-STRING   Set register NAME to given JSON-STRING

Bei der Verwendung der Windows-CLI stoße ich auf Probleme mit createrawtransaction , da der Befehl nicht so analysiert wird wie im Bitcoin-QT-Konsolenfenster.

bitcoin-cli createrawtransaction [{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}] {"1BCi1L25GC9hUSvtSyGjmEvSyywoYubk4P":0.00011}

Gibterror: Error parsing JSON:[{txid:dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c,vout:1}]

Ebenso bitcoin-txfunktioniert das Dienstprogramm damit nicht:

bitcoin-tx.exe -create in=dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c:1 locktime=0 nversion=1 outaddr=2000:1BCi1L25GC9hUSvtSyGjmEvSyywoYubk4P outscript=0:687474703a2f2f676f6f2e676c2f7869556243555

Wie kann ich eine Rohtransaktion mit Bitcoin-cli und bitcoin-tx erstellen ?

Wenn Bitcoin emittiert Error parsing JSON:, gibt es Ihnen das Token, das es verwirrt hat, genau so, wie es es bekommen hat. Frisst deine Muschel deine "Charaktere?

Antworten (1)

Für den ersten Befehl müssen Sie den JSON wie folgt in einfache Anführungszeichen einfügen:

$ bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"1BCi1L25GC9hUSvtSyGjmEvSyywoYubk4P":0.00011}'
01000000018c8414a5c6b39130304af37b8d053c6b225df525877e5e0cf73a147f2c2edcdb0100000000ffffffff01f82a0000000000001976a9146fe8102ebe0fccb56de43ec82601ba16c68496af88ac00000000

Das bitcoin-txDienstprogramm verwendet eine Abkürzung, die in den Bitcoin-Einheitentests eingesetzt wird. Dieses Beispiel könnte Ihnen bei der Verwendung dieses Befehls helfen:

$ ./bitcoin-tx -create in=0fb9df5614be8b33be0434ce4062750d83f1b7ce05cc1296604f82eb9abf802b:0 outscript=0.00159999:"DUP HASH160 0x14 0x6793a38f79b8cd51dbb6face6dc75a4af5c1bf29 EQUALVERIFY CHECKSIG"
01000000012b80bf9aeb824f609612cc05ceb7f1830d756240ce3404be338bbe1456dfb90f0000000000ffffffff01ff700200000000001976a9146793a38f79b8cd51dbb6face6dc75a4af5c1bf2988ac00000000

Den Code zum Parsen der Skripte finden Sie hier . Ich finde es jedoch auch hilfreich, sich nur einige Beispiele in den Unit-Test-Daten anzusehen.

Für DOS müssen Sie einfache Anführungszeichen entfernen und doppelte Anführungszeichen maskieren ... bitcoin-cli -regtest createrawtransaction [{\"txid\":\"c6343009c5d73572f750359480ae95170a00cfb41063f8cd70e1c14d06e8776c\",\"vout\":0}] {\"myf8U7KUzidun3 ":49.9999}