Blockchain.info

閱讀比特幣原始交易

  • November 19, 2021

我想了解比特幣資料結構。所以我嘗試理解 json 格式的原始交易。當我檢查blockchain.info API 文件時,我看到輸入結構是為這樣的交易定義的:

"prev_out":
{
   "hash":"a3e2bcc9a5f776112497a32b05f4b9e5b2405ed9",
   "value":"100000000",
   "tx_index":"12554260",
   "n":"2"
},
"script":"76a914641ad5051edd97029a003fe9efb29359fcee409d88ac"

但是當我從 blockchain.info 查詢交易時,情況似乎有所不同:

"prev_out":
{
   "spent":true,
   "tx_index":8845778,
   "type":0,
   "addr":"1CfD77hupeUvFwBPxZ2fA8iyWmVwQY22oh",
   "value":10212000000,
   "n":1,
   "script":"76a9147fe34b97aeff4ab754770be5c8f12e2e95332fd488ac"
}

是否有任何文件清楚地解釋了這些數據欄位?

我目前的奇蹟:

  1. 什麼是花費欄位?
  2. 查詢的交易中沒有雜湊欄位,我想一定有嗎?
  3. 什麼是類型欄位?
  4. 哪些欄位已簽名?簽名是由哪些欄位散列生成的?

您應該知道,不同的事務解析器通常包含自己的欄位,這些欄位不直接包含在原始事務中。例如,原始交易中不會找到“地址”,但可以通過查看它來推斷。我不確定“類型”和“n”欄位指的是什麼。您可能想看看這些連結:

剖析交易

創建原始比特幣交易

兌換原始交易

我不確定您的問題 1、3,它將特定於 api。我不確定您在問題 2 中指的是什麼。對於問題 4,它取決於交易類型(非隔離見證或隔離見證)和簽名類型(sighash_all、sighash_none、sighash_single)。

我已經使用了很長時間,並且總是跳過欄位。既然你提到它,這裡是一個部分答案:

1.) 我不知道。

2.) 交易雜湊出現在列表末尾;它也出現在您提供的連結中。

3.) 另一個好問題。我不知道。

4.) 被簽名的欄位來自之前的交易,基本上,整個資料結構都被簽名,除了“scriptSig”欄位被“pubkey”腳本填充。

關於交易結構的文件有以下三個重要來源:

1.) Bitcoin.org 開發者指南

2.) Andreas Antonopoulos 的“掌握比特幣”

3.)比特幣的艱難之路:使用原始比特幣協議

我希望這是有益的。

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