Transactions

創建原始交易並使用比特幣核心將其廣播到區塊鏈

  • November 6, 2020

我有一個地址n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV- ,我想發送的金額1 BTC- 我有一個private key. 如何使用它創建原始交易並使用比特幣核心將其廣播到區塊鏈。

我試過這個命令:

bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303‌​091b3c6a514848c","vo‌​ut":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 上看到資金是否已轉移。

我只是在搜尋功能中輸入了這裡的兩個關鍵字,也找到了很多答案。

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