How to Mine a Genesis Block for Your Bitcoin Fork

Phuoc Do
2 min readFeb 23, 2019

--

I recently started a Bitcoin fork project, Bitflate. Bitflate is a Bitcoin-based cryptocurrency that has inflation. We want to achieve a stable coin through inflation. If you want to create your own Bitcoin fork, you can roughly follow the guide on bitcointalk forum.

Genesis Block

But the hardest part in creating your own Bitcoin fork is the Genesis block. Its the first block in the blockchain. It looks like this in Bitcoin source code:

Bitcoin Genesis Block

In order to create your own coin, you should have a different Genesis block pszTimestamp. After you modify your Genesis block, you need to mine your own Genesis block. This is very important! Without a mined Genesis block, CheckProofOfWork function will fail.

Mine Genesis Block

To mine your own Genesis block, you can use GenesisH0 tool. Pass in your phrase and timestamp, don’t pass in nonce, let the tool scan for Genesis hash and nonce. For Bitflate, we use the following command:

python genesis.py -z "New York Times 19/Feb/2019 Bernie Sanders Announces 2020 Presidential Run" -t 1550605240

This command performs the same mining work to create a Genesis block. It will take at least a few hours. Once done, your Genesis block is real! Your coin is not just created out of thin air.

Below is the Bitflate Genesis block.

Bitflate Genesis block

You can read the source code here.

--

--