Block
額外的 nonce 是如何格式化的?
我試圖了解一個塊是如何組合在一起的。從這裡,我知道額外的 nonce 曾經採用以下格式:
pblock->vtx[0].vin[0].scriptSig = CScript() << pblock->nTime << CBigNum(nExtraNonce);
這個語法是什麼意思?腳本 sig 究竟包含哪些元素以及按什麼順序排列?
這個語法是什麼意思?
它是 C++,用於“將此塊中第一個事務中的第一個輸入的 scriptSig 設置為與具有編碼的 nTime 後跟編碼的 nExtraNone 的腳本具有相同的內容”。
腳本 sig 究竟包含哪些元素以及按什麼順序排列?
它包含塊的
nTime
,後跟nExtraNonce
.額外的 nonce 是如何格式化的?
這個時間段的一個例子是來自區塊 #185000 的 coinbase 交易的 scriptSig:
04d508de4f02e82d
如果我們解析這個腳本 sig,它是:
04 -- Number of bytes in group of data d508de4f -- 4 bytes. The little endian timestamp. 02 -- Number of bytes in group of data e82d -- the little endian extranonce
請注意,當您反轉字節時
d508de4f
,您會得到4fde08d5
,當您將其轉換為時間戳時Sun Jun 17 2012 12:41:57 GMT-0400 (EDT)
。當您進行字節反轉e82d
(反轉為2de8
)並從十六進制解碼整數時,您將獲得 11,752 的額外值。