根據 BIP 34 的要求,礦工如何將塊高度放入他們的 coinbase 交易中
我使用 createrawtransaction 方法創建了一個 coinbase 交易,如下所示:
createrawtransaction '[{"txid":"0000000000000000000000000000000000000000000000000000000000000000","vout":0}]{"kgjdtruea5w3mz7t3tudtlplm9xht4sjwg0e3tihgtr":6.25000000}'
對此呼籲的回應是:
020000000100000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0140be40250000000017a9145ea405d95b789aa887e229d8b1da44c2964054248700000000
我了解推送的字節數和塊的高度必須包含在此原始數據的腳本中,如下所示:
其實
03
+The height of the block in little endian
在這個例子中,我必須把它放在
ffffffff
and 之間0140be40250000
嗎?我看到了一些例子,但我很困惑,因為在 scryptsig 之前有 scriptig 的大小
幫助表示讚賞
謝謝大家
在此事務中,scriptSig 的大小為 0,因為它尚未填寫。你還使用了一個全 0 的 txid 和一個 0 的 vout,所以這個 0 的大小會在你的大串零中失去。
00000000000000000000000000000000000000000000000000000000000000000000000000ffffffff
是輸入數據。這個的前 32 個字節是前一個 txid。後面的 4 個字節是 vout。這給我們留下了
00ffffffff
. 剩下的0x00
字節是 scriptSig 的長度,目前長度為 0。ffffffff
是序列號。你要做的就是用你的 scriptSig 替換那個 0x00 字節。scriptSig 以它的長度為前綴,因此您將其替換為
040334cc09
.請注意,目前您的交易不是有效的 coinbase 交易。coinbase 交易的 vout 是
0xffffffff
,而不是 0。