What does this comment in Chainparams.cpp mean?

1

There is a comment in the Bitcoin source code under src/chainparams.cpp

/** * Build the genesis block. Note that the output of its generation * transaction cannot be spent since it did not originally exist in the * database. * * 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 */

What exactly does this value refer to?

coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73

Barney Chambers

Posted 2018-07-23T10:25:32.663

Reputation: 291

Answers

2

The original 50 BTC coinbase is not spendable since it was not included in the UTXO set. Any transaction trying to spend it would be invalid, since the previous output from the coinbase tx does not exist in the utxo set.

The hex string is an encoding of The Times 03/Jan/2009 Chancellor on brink of second bailout for banks, along with the regular coinbase params. It is essentially a marker that proves that the chain was not premined before 03/01/2009 by including the headline from a paper on that day.

Raghav Sood

Posted 2018-07-23T10:25:32.663

Reputation: 10 897

Thanks for your answer, how is this string encoded? I am trying to modify a Bitcoinj library to make it compatible with other altcoinsBarney Chambers 2018-07-23T10:57:00.527