Createrawtransaction

bitcoin-cli createrawtransaction 和“scriptPubKey”的目的?

  • June 5, 2018

我在 regtest 上玩 P2SH 並嘗試了解使用比特幣守護程序創建和簽署 tx 的邏輯。我使用的是 0.15.1 版本,並嘗試創建一個 tx。

使用的 scriptPubKey 來自一個簡單的 if/else/endif 語句,而不是來自標準的多重簽名方法。所以我手動創建了兌換腳本,並將其變成了一個地址(以“2”開頭)。然後我創建了一個交易,為這個地址提供資金。現在我想花掉這些資金。在創建事務時,我發現“scriptPubKey”的使用不會改變我的輸出中的任何內容。

沒有“scriptPubKey”的範例:

bitcoin-cli -regtest createrawtransaction '''[{"txid":"'b5b67997f36627a461cd5ee1951aa775a68faa0c11c50b8f068ea1c7f4a9b087'","vout":'0'}]''' '''{"'mgpe9b44YYYbhDE1dbWosCSQDPYFkkoHjt'":'9.99995000'}''' 
020000000187b0a9f4c7a18e068f0bc5110caa8fa675a71a95e15ecd61a42766f39779b6b50000000000ffffffff0178b69a3b000000001976a9140e507731ec9a94d454424f3ca65917a2abb45f4988ac00000000

“scriptPubKey”範例:

bitcoin-cli -regtest createrawtransaction '''[{"txid":"'b5b67997f36627a461cd5ee1951aa775a68faa0c11c50b8f068ea1c7f4a9b087'","vout":'0',"scriptPubKey":"'a914d53c738d730d8623eb2a070833599157beb3f6f687'"}]''' '''{"'mgpe9b44YYYbhDE1dbWosCSQDPYFkkoHjt'":'9.99995000'}'''
020000000187b0a9f4c7a18e068f0bc5110caa8fa675a71a95e15ecd61a42766f39779b6b50000000000ffffffff0178b69a3b000000001976a9140e507731ec9a94d454424f3ca65917a2abb45f4988ac00000000

結果是完全一樣的。結果相同的情況下,使用該欄位作為參數“createrawtransaction”的目的是什麼?

目前,create raw transaction 方法僅使用該參數中的txidandvout參數。您可以在此處查看原始碼的相關部分。

出於所有實際目的,您可以傳入00scriptPubKey 並仍然獲得相同的結果。

引用自:https://bitcoin.stackexchange.com/questions/75931