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:
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.
You can read the source code here.