Transactions
交易版本和區塊版本有什麼區別?(v1、v2、v3 等..)
如果我執行命令來獲取一個塊,我會看到版本 2 返回:
getblock 0000000000000000ae22455f90306f43e8c806585fe2dfc3b0e92ac7b7620bff
輸出
{ "hash" : "0000000000000000ae22455f90306f43e8c806585fe2dfc3b0e92ac7b7620bff", "confirmations" : 5885, "size" : 249065, "height" : 280557, "version" : 2, "merkleroot" : "5b4c401a2ad5a82ef26efb1d7ad82a0b6abea18118b50a12b555ea9e8663042b", "tx" : [ .... snip ...
當我執行命令來獲取交易時,我看到版本 1 被返回
getrawtransaction 260ef6a9bbb401ecbfdace19c84ae3245f0ab5b229ea716209a38e9ec0fd14c1 1
輸出
{ "hex" : "01000000027f4e827503d7d52617.. snip ..9763caaf4b6216343fa460b88ac00000000", "txid" : "260ef6a9bbb401ecbfdace19c84ae3245f0ab5b229ea716209a38e9ec0fd14c1", "version" : 1, "locktime" : 0, "vin" : [
題
我在某處讀到 BIP32 將導致它們都成為
version 3
. 誰能解釋一下:
- 我可以在哪裡找到每個版本的預期規則的簡明列表(它不在 wiki 上)
- 該版本何時更改(年份和/或區塊編號)
- 舊版本是否被禁止,或者仍然支持?
BIP0034添加了版本 2 塊。它強制執行交易版本為 1 的規則(以前沒有強制執行,區塊鏈中有一些奇怪的交易版本)。它還要求 coinbase 交易輸入腳本包含塊高度作為第一個數據元素。
已經討論了一個新的版本 3 塊和版本 3 交易,這將強制規範編碼。這將是交易延展性問題的解決方案。跳過交易版本 2 將使區塊和交易的版本再次相同。
你可以在這裡閱讀比特幣改進提案。