Ich versuche zu verstehen, wie ein Block zusammengesetzt ist. Von hier aus weiß ich, dass die zusätzliche Nonce früher das Format hatte:
pblock->vtx[0].vin[0].scriptSig = CScript() << pblock->nTime << CBigNum(nExtraNonce);
Was bedeutet diese Syntax? Welche Elemente enthält die Skript-Sig genau und in welcher Reihenfolge?
Was bedeutet diese Syntax?
Es ist C++ für „das scriptSig der ersten Eingabe in der ersten Transaktion in diesem Block so einstellen, dass es den gleichen Inhalt wie ein Skript mit dem codierten nTime gefolgt vom codierten nExtraNone hat“.
Welche Elemente enthält die Skript-Sig genau und in welcher Reihenfolge?
Es enthält das nTime
, gefolgt vom nExtraNonce
.
Wie ist die zusätzliche Nonce formatiert?
Ein Beispiel aus dieser Zeit wäre in der scriptSig der Coinbase-Transaktion von Block #185000 :
04d508de4f02e82d
Wenn wir diese Skript-Sig analysieren, lautet sie:
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
Beachten Sie, wenn Sie die Bytes umkehren d508de4f
, erhalten Sie 4fde08d5
, was, wenn Sie es in einen Zeitstempel umwandeln Sun Jun 17 2012 12:41:57 GMT-0400 (EDT)
. Wenn Sie byte-reverse e82d
(umgekehrt ist 2de8
) und eine Ganzzahl aus dem Hex dekodieren, erhalten Sie 11.752 für einen Extranonce-Wert.
aj_schwarz
Morsecoder