1. 程式人生 > >比特幣bitcoin-cli轉賬與交易的api使用總結

比特幣bitcoin-cli轉賬與交易的api使用總結

需要使用到3個api,分別是 createrawtransaction(建立交易),signrawtransaction (簽名交易),sendrawtransaction(廣播交易),
2.1命令格式:
createrawtransaction [{“txid”:”id”,”vout”:n},…] {“address”:amount,”data”:”hex”,…} ( locktime ) ( replaceable )
signrawtransaction “hexstring” ( [{“txid”:”id”,”vout”:n,”scriptPubKey”:”hex”,”redeemScript”:”hex”},…] [“privatekey1”,…] sighashtype )
sendrawtransaction “hexstring” ( allowhighfees )
2.2例子:參見
這裡

2.3個人理解:需要先列出utxo,如果列出太多項可以在listunspent 後面加地址篩選utxo, 例如
bitcoin-cli listunspent 6 9999999 “[\”1PGFqEzfmQch1gKD3ra4k18PNj3tTUUSqg\”,\”1LtvqCaApEdUGFkpKMM4MstjcaL4dKg8SP\”]”
把1PGF…和1Ltvq…地址的6到9999999確認數的utxo列出來。
然後選擇utxo的輸出作為 createrawtransaction這次輸入,隨後填寫轉賬的地址和金額,最後在簽名和廣播。
但是在regtest環境中確認數已經達到6,我遇到轉賬的地址收到金額後,listunspent還能列出作為本次輸入的uxto還能的問題,個人認為這次的utxo應該不再出現,
打個比喻:我有一張面額10元的支票,我要購買一個5元的物品,我應該建立兩張面額5元支票,一張給商家,一張作為找零給我自己,同時把原來10元的支票撕毀。回到例子中作為輸入的utxo就是10元的支票,不明白為什麼還能列出來。