Transactions
創建原始交易並使用比特幣核心將其廣播到區塊鏈
我有一個地址
n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV
- ,我想發送的金額1 BTC
- 我有一個private key
. 如何使用它創建原始交易並使用比特幣核心將其廣播到區塊鏈。我試過這個命令:
bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}'
和這個:
bitcoin-cli sendrawtransaction XXX
編輯:根據 OPs 的要求,我在這裡放了一些例子:
在 bitcoin.org 的開發者範例中有很多不同 tx 類型的範例。基本上你需要三個步驟。假設你在 OpenBSD/MacOS/Linux 上,你可以這樣:
1.) createrawtransaction - 這是你已經擁有的,看起來還不錯。不知道之前的 tx ID 或者 v_out 是否正確,假設你知道細節,你的字元串是可以的(否則檢查“bitcoin-cli -regtest listunspent”,並相應地採用 TX_ID 和 V_OUT)。我還假設該地址是您錢包中的地址。否則你可能只是創建一個地址,然後像這樣繼續:
UTXO_TXID=dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303 UTXO_VOUT=1 NEW_ADDRESS=n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV bitcoin-cli -regtest createrawtransaction ''' [ { "txid": "'$UTXO_TXID'", "vout": '$UTXO_VOUT' } ] ''' ''' { "'$NEW_ADDRESS'": 1 }'''
您將此返回的十六進製字元串提供給另一個變數:
RAW_TX=01000...
2.)signrawtransaction - 上一個命令返回一個十六進製字元串,您將使用它來簽署交易 - 再次,請參閱文件。首先我驗證我創建的 tx,然後簽名:
bitcoin-cli -regtest decoderawtransaction $RAW_TX bitcoin-cli -regtest signrawtransaction $RAW_TX
再次將結果分配給變數:
SIGNED_RAW_TX=01000...
3.) sendrawtransaction - 再次將上一個命令的十六進製字元串作為參數,和/或查看文件。
bitcoin-cli -regtest sendrawtransaction $SIGNED_RAW_TX
也許是第 4 步的驗證:
bitcoin-cli -regtest generate 1
這會生成一個塊,您可以在 $NEW_ADDRESS 上看到資金是否已轉移。
我只是在搜尋功能中輸入了這裡的兩個關鍵字,也找到了很多答案。