Block

額外的 nonce 是如何格式化的?

  • September 13, 2016

我試圖了解一個塊是如何組合在一起的。從這裡,我知道額外的 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 的額外值。

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