createrawtransaction, mehrere Ausgaben, einzelne Eingabe?

Gemäß dem Handbuch auf https://bitcointalk.org/index.php?topic=101525.0 möchte ich mehrere BTC -Teile von mehreren Adressen, die ich besitze, mit einer anderen einzelnen Adresse, die ich besitze, zusammenführen (wieder zusammensetzen, sortieren, Sachen organisieren). . Wie sieht mein Ansatz aus? Ich verstehe immer noch nicht, was der Wert "vout" in der createrawtransaction bedeutet ? ich denke es geht darum:

# assume i would like to merge transactions "aaaa..." and "bbbb..." to address "1mainaddr..."
# "aaaa..." has 0.01  btc unspent
# "bbbb..." has 0.0105 btc unspent
# "1mainaddr..." is emtpy
# i would like to pay 0.0005 btc as a fee

createrawtransaction [{txid:aaaa...,vout=0},{txid:bbbb...,vout=1}] {1mainaddr...=0.02}

Ist das korrekt? Ich möchte dies zuerst auf Testnet testen, warte aber immer noch auf Blockbestätigungen. Ich würde 1-2 Testnet BTC auf moBHB5euzHyKtcabpD3UND9PYB994cisqb schätzen und werde es Ihnen zurückgeben, sobald Block 101602 bestätigt ist.

Ich habe das Gefühl, ich sollte das in "was ist vout" umformulieren. Die Angabe aller vout:0 funktioniert einwandfrei.
Ich stimme zu: "Was ist der Parameter 'vout' und welchen Wert sollte er für createrawtransaction haben?" wäre ein viel besserer Titel für diese Frage. :)
Die Antwort auf "Was ist in getrawtransaction die vout-Ganzzahl in der vin-Liste?" könnte hilfreich sein, diese Frage zu beantworten.

Antworten (3)

ok, ich habs kapiert. Die richtige Antwort auf das folgende Beispiel sieht so aus:

# get your unspent transactions
listunspent
# select the ones you want to pour BTC from, please also note their 'vout', it is an output of a transaction you own a private key to and therefore able to spend.
createrawtransaction '[{"txid":"aaaa...","vout":0},{"txid":"bbbb...","vout":0}]' '{"1mainaddr...":0.02}'
# explained: you are using two outputs, of total 0.0205 BTC. you give away 0.0005 fee and you keep 0.02 at your 1mainaddr...
# you can dump the resulting transaction draft to see how it'll look like
decoderawtransaction <...result_from_createrawtransaction...>
# sign it with your private keys
signrawtransaction <...result_from_createrawtransaction...>
# if it returns you a hex with "complete" : true, you can now send it off to network
# if it returns "complete" : false, you either don't have a private key for signing, or you might have specified invalid 'vout'. google for more possible problems, those were two i experienced.
sendrawtransaction <...result_from_signrawtransaction_hex...>

Referenzen :

  • people.xiph.org/~greg/signdemo.txt
  • bitcointalk.org/index.php?topic=101525.0

danke :

  • @Murch

Dies ist ein Handbuch für den Original-Satoshi-Client.

vout ist die Seriennummer der Ausgabe, die Sie in ihrer Transaktion einlösen.

Wenn Sie beispielsweise die erste Ausgabe in der Transaktion mit Hash X einlösen möchten, geben Sie X für txid und 0 für vout an. Wenn Sie die zweite Ausgabe in dieser Transaktion wünschen, geben Sie stattdessen 1 für vout an usw.

Von der Befehlszeile aus müssen Sie Kommas um die Parameter hinzufügen und den JSON-Code korrekt formatieren.

Zum Beispiel:

bitcoind createrawtransaction '[{"txid":"aaaa"...,"vout"=0},{"txid":"bbbb"...,"vout"=1}]' '{"1mainaddr"...=0.02}'