<p>The meaning of FFFF01D and 04 that are pushed onto the stack before de the famous string is explained here :</p>
<p><a href="https://en.bitcoin.it/wiki/Transaction#Generation" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Transaction#Generation</a></p>
<p>As you notice, FFFF01D repeats the Bits field that appears in the header. And 04 is (I quote) <em>&quot;the arbitrary-precision &quot;extraNonce&quot; number there, which increments every time the Nonce field in the block header overflows&quot;</em>.</p>
<p>If you wonder what is the nonce, it means &quot;number once only used&quot;. The nonce is some data in the block header that you may tweak until the hash of the header fits the target.</p>

CC BY-SA 4.0
2021-11-15T12:05:01.920Z
2021-11-15T12:05:01.920Z
StashOfCode
<p>Please Check Out <a href="https://en.bitcoin.it/wiki/Genesis_block" rel="nofollow noreferrer"><strong>Here</strong></a></p>
<p><strong>Sigscript :</strong></p>
<blockquote>
<p>04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73</p>
</blockquote>
<p>Genesis Block Coinbase Transaction:</p>
<p><strong>04</strong>:-</p>
<blockquote>
<p>length of nbits: [0x1d, 0x00, 0xff, 0xff]</p>
</blockquote>
<p><strong>ffff001d</strong>:-</p>
<blockquote>
<p>little_endian version of hexadecimel nbits</p>
</blockquote>
<p><strong>010445</strong>:-</p>
<blockquote>
<p>if you convert this little piece of sh*t <a href="https://www.binaryhexconverter.com/hex-to-ascii-text-converter" rel="nofollow noreferrer"><strong>from hex to ascii</strong></a>
you will get this <strong>&quot;E&quot;</strong> (im not sure if its important or not). now as you can see at coinbase message it has the <strong>&quot;E&quot;</strong> before the message</p>
<p><a href="https://i.sstatic.net/PTFFB.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/PTFFB.jpg" alt="Screenshot of genesis block" /></a></p>
</blockquote>
<p><strong>5468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73</strong>:</p>
<blockquote>
<p>message : <em><strong>The Times 03/Jan/2009 Chancellor on brink of second bailout for banks</strong></em></p>
</blockquote>
<p>so when you combine all the str? idk, you will get this</p>
<blockquote>
<p><strong>(nbits length) + (hex value of nbits in little_endian) + (the f*ck you want to call this) + (message)</strong></p>
</blockquote>
<p>04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73</p>

CC BY-SA 4.0
2022-12-15T17:20:06.013Z
2022-12-15T17:56:00.130Z
2022-12-15T17:56:00.130Z
just.callme.client
<p>Here is a breakdown of the entire genesis block:</p>

<pre><code>01000000 - version
0000000000000000000000000000000000000000000000000000000000000000 - prev block
3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A - merkle root
29AB5F49 - timestamp
FFFF001D - bits
1DAC2B7C - nonce
01 - number of transactions
01000000 - version
01 - input
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - prev output
4D - script length
04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 - scriptsig
FFFFFFFF - sequence
01 - outputs
00F2052A01000000 - 50 BTC
43 - pk_script length
4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - pk_script
00000000 - lock time
</code></pre>

<p>Decoding the <a href="https://en.bitcoin.it/wiki/Script">ScriptSig</a>:</p>

<pre><code>04 - push the next 4 bytes to stack
FFFF001D - 4 bytes pushed, they appear to be the same as bits
01 - push the next 1 byte to stack
04 - 1 byte pushed
45 - push the next 69 bytes to stack
5468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 - pushed bytes, "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
</code></pre>

<p>So 010445 are in fact part of 2 operations - 01 pushes 04 to the stack, 45 pushes the message to the stack. As to why push 04, beats me, maybe it was just testing to make sure something works? Some internal counter used by Satoshi during Genesis block creation? Since the script of a coin generation transaction is really meaningless, we might never know.</p>

CC BY-SA 3.0
2013-09-04T15:44:55.327Z
Thanks for the answer but I still don't know what is 010445 because there is no explanation in breakdown about 010445. 010445 is simply part of the sequence in breakdown.
Vitali Grabovski
CC BY-SA 3.0
2013-09-04T16:17:37.200Z
@VitaliGrabovski Sorry about that, I broke things down a bit more. I explained 010445.
ThePiachu
CC BY-SA 3.0
2013-09-04T15:05:03.590Z
2013-09-04T16:17:02.947Z
2013-09-04T16:17:02.947Z
ThePiachu
<p>From original bitcoin c++ source code:</p>

<pre><code>// Genesis Block:
        // CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
        //   CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
        //     CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
        //     CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
        //   vMerkleTree: 4a5e1e
</code></pre>

<p>...</p>

<pre><code>txNew.vin[0].scriptSig = CScript() &lt;&lt; 486604799 &lt;&lt; CBigNum(4) &lt;&lt; vector&lt;unsigned char&gt;((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
</code></pre>

<p>We could see that scriptSig is: 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73</p>

<p>Let's see closer:</p>

<p><em>04</em> - ?</p>

<p><em>ffff001d</em> - 486604799 aka 0x1d00ffff </p>

<p>010445 - ?</p>

<p>5468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 - The Times 03/Jan/2009 Chancellor on brink of second bailout for banks</p>

<p>I don't understand what are 04 and 010445. How can I get them?
At wiki page of Genesis Block (<a href="https://en.bitcoin.it/wiki/Genesis_block" rel="nofollow">https://en.bitcoin.it/wiki/Genesis_block</a>) in ScriptSig line there is nothting about 010445.</p>

CC BY-SA 3.0
2013-09-04T15:08:33.620Z
Update. I have found that coinbase has a prefix with a byte indicating the length of nBits. In the Genesis Block length of Nbits are 4: 0x1d, 0x00, 0xff, 0xff. So, I know what is 04 but i stil don't know about 010445((
Vitali Grabovski
<coinbase-transaction>
ScriptSig (coinbase) structure of the Genesis Block
Vitali Grabovski
# ScriptSig (coinbase) structure of the Genesis Block

(Asked by: username_0 on 2013-09-04)

From original bitcoin c++ source code:
// Genesis Block:
        // CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
        //   CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
        //     CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
        //     CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
        //   vMerkleTree: 4a5e1e

...
txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));

We could see that scriptSig is: 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73
Let's see closer:
04 - ?
ffff001d - 486604799 aka 0x1d00ffff 
010445 - ?
5468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 - The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
I don't understand what are 04 and 010445. How can I get them?
At wiki page of Genesis Block (https://en.bitcoin.it/wiki/Genesis_block) in ScriptSig line there is nothting about 010445.

**Tags:** coinbase-transaction

> **Comments:**
> **username_0**: Update. I have found that coinbase has a prefix with a byte indicating the length of nBits. In the Genesis Block length of Nbits are 4: 0x1d, 0x00, 0xff, 0xff. So, I know what is 04 but i stil don't know about 010445((  

---

## 3 answers

### Answer by username_3 on 2013-09-04. Score: 13 | Accepted answer

Here is a breakdown of the entire genesis block:
01000000 - version
0000000000000000000000000000000000000000000000000000000000000000 - prev block
3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A - merkle root
29AB5F49 - timestamp
FFFF001D - bits
1DAC2B7C - nonce
01 - number of transactions
01000000 - version
01 - input
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - prev output
4D - script length
04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 - scriptsig
FFFFFFFF - sequence
01 - outputs
00F2052A01000000 - 50 BTC
43 - pk_script length
4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - pk_script
00000000 - lock time

Decoding the ScriptSig:
04 - push the next 4 bytes to stack
FFFF001D - 4 bytes pushed, they appear to be the same as bits
01 - push the next 1 byte to stack
04 - 1 byte pushed
45 - push the next 69 bytes to stack
5468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 - pushed bytes, "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"

So 010445 are in fact part of 2 operations - 01 pushes 04 to the stack, 45 pushes the message to the stack. As to why push 04, beats me, maybe it was just testing to make sure something works? Some internal counter used by Satoshi during Genesis block creation? Since the script of a coin generation transaction is really meaningless, we might never know.

> **Comments:**
> **username_0**: Thanks for the answer but I still don't know what is 010445 because there is no explanation in breakdown about 010445. 010445 is simply part of the sequence in breakdown.  
> **username_3**: @VitaliGrabovski Sorry about that, I broke things down a bit more. I explained 010445.  

---

### Answer by username_1 on 2021-11-15. Score: 1

The meaning of FFFF01D and 04 that are pushed onto the stack before de the famous string is explained here :

<https://en.bitcoin.it/wiki/Transaction#Generation>

As you notice, FFFF01D repeats the Bits field that appears in the header. And 04 is (I quote) *"the arbitrary-precision "extraNonce" number there, which increments every time the Nonce field in the block header overflows"*.

If you wonder what is the nonce, it means "number once only used". The nonce is some data in the block header that you may tweak until the hash of the header fits the target.


---

### Answer by username_2 on 2022-12-15. Score: 0

Please Check Out [**Here**](https://en.bitcoin.it/wiki/Genesis_block)

**Sigscript :**

> 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73

Genesis Block Coinbase Transaction:

**04**:-

> length of nbits: [0x1d, 0x00, 0xff, 0xff]

**ffff001d**:-

> little\_endian version of hexadecimel nbits

**010445**:-

> if you convert this little piece of sh\*t [**from hex to ascii**](https://www.binaryhexconverter.com/hex-to-ascii-text-converter)
> you will get this **"E"** (im not sure if its important or not). now as you can see at coinbase message it has the **"E"** before the message
>
> [![Screenshot of genesis block](https://i.sstatic.net/PTFFB.jpg)](https://i.sstatic.net/PTFFB.jpg)

**5468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73**:

> message : ***The Times 03/Jan/2009 Chancellor on brink of second bailout for banks***

so when you combine all the str? idk, you will get this

> **(nbits length) + (hex value of nbits in little\_endian) + (the f\*ck you want to call this) + (message)**

04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73


---

