user4091: Is there any step-by-step tutorial about how to build own cryptocurrency based on Bitcoin code?

user30017: There are some tutorials out there, check out:
https://bitcointalk.org/index.php?topic=225690.0
If that one is not sufficient let me know, and maybe I'll write one up.
There are also a lot of coins on github that you could just fork, create your own genesis block, modify parameters (coins per block, max coins, etc) and start mining.
One example is:
https://github.com/0xfff/VanCoin

user60443: Here is a guide: How to Fork Bitcoin (create your own chain).
I really think Bitcoin as a concept is unique and powerful, and the project is well maintained by very talented developers, so I wanted to write this not just to help make it easy to clone, but to help increase understanding of the concepts and how to fully utilize them in other projects. I would love comments if you think I can improve it in any way. It covers the following:

Forking
Building from source
Customizations:

Change default ports for all nets (mainnet, testnet, regtest)
Change the “magic message” or the message prefix for all nets (mainnet, testnet, regtest)
Change the address prefixes (optional) for all nets (mainnet, testnet, regtest) and for all address types (P2PKH, P2SH, and secret keys).
Change the block reward (optional)
Change the coinbase maturity (optional)
Change the halving interval (optional)
Update max money check value (required if this should be different)
Reset minimum chain work
Remove DNS seeds
Remove checkpoints
Update DEFAULT_MAX_TIP_AGE
Change block time (optional) for all nets (mainnet, testnet, regtest)
Change the difficulty adjustment interval (optional) for all nets (mainnet, testnet, regtest)

Managing Updates


user42877: There is a Complete Guide on How to Create a New Alt Coin on Bitcoin Talk.

user-1: To start a new chain, use a genesis generator, apply the new genesis to the source, and remove the checkpoints.
If you want to apply new/different rules, be prepared for a difficult task.  Changing even the slightest protocol rule will most likely affect all other rules because of the complexity of PoW.
If the only thing you want to alter is the maximum coins, this should be relatively easy to alter in the source.

4091: <p>Is there any step-by-step tutorial about how to build own cryptocurrency based on Bitcoin code?</p>
 30017: <p>There are some tutorials out there, check out:<br>
<a href="https://bitcointalk.org/index.php?topic=225690.0" rel="nofollow">https://bitcointalk.org/index.php?topic=225690.0</a></p>

<p>If that one is not sufficient let me know, and maybe I'll write one up.</p>

<p>There are also a lot of coins on github that you could just fork, create your own genesis block, modify parameters (coins per block, max coins, etc) and start mining.<br>
One example is:<br>
<a href="https://github.com/0xfff/VanCoin" rel="nofollow">https://github.com/0xfff/VanCoin</a></p>
 60443: <p>Here is a guide: <a href="https://medium.com/@jordan.baczuk/how-to-fork-bitcoin-c39139506443" rel="noreferrer">How to Fork Bitcoin</a> (create your own chain).</p>

<p>I really think Bitcoin as a concept is unique and powerful, and the project is well maintained by very talented developers, so I wanted to write this not just to help make it easy to clone, but to help increase understanding of the concepts and how to fully utilize them in other projects. I would love comments if you think I can improve it in any way. It covers the following:</p>

<ul>
<li><strong>Forking</strong></li>
<li><strong>Building from source</strong></li>
<li><strong>Customizations:</strong>

<ol>
<li>Change default ports for all nets (mainnet, testnet, regtest)</li>
<li>Change the “magic message” or the message prefix for all nets (mainnet, testnet, regtest)</li>
<li>Change the address prefixes (optional) for all nets (mainnet, testnet, regtest) and for all address types (P2PKH, P2SH, and secret keys).</li>
<li>Change the block reward (optional)</li>
<li>Change the coinbase maturity (optional)</li>
<li>Change the halving interval (optional)</li>
<li>Update max money check value (required if this should be different)</li>
<li>Reset minimum chain work</li>
<li>Remove DNS seeds</li>
<li>Remove checkpoints</li>
<li>Update DEFAULT_MAX_TIP_AGE</li>
<li>Change block time (optional) for all nets (mainnet, testnet, regtest)</li>
<li>Change the difficulty adjustment interval (optional) for all nets (mainnet, testnet, regtest)</li>
</ol></li>
<li><strong>Managing Updates</strong></li>
</ul>
 42877: <p>There is a <a href="https://bitcointalk.org/index.php?topic=225690.0" rel="noreferrer">Complete Guide on How to Create a New Alt Coin</a> on Bitcoin Talk.</p>
 -1: <p>To start a new chain, use a <a href="https://bitcointalk.org/index.php?topic=181981.0" rel="noreferrer">genesis generator</a>, apply the new genesis to <a href="https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L103-141" rel="noreferrer">the source</a>, and remove the <a href="https://github.com/bitcoin/bitcoin/blob/master/src/checkpoints.cpp" rel="noreferrer">checkpoints</a>.</p>

<p>If you want to apply new/different rules, be prepared for a difficult task.  Changing even the slightest protocol rule will most likely affect all other rules because of the complexity of PoW.</p>

<p>If the only thing you want to alter is the maximum coins, this should be relatively easy to alter in the <a href="https://github.com/bitcoin/bitcoin/blob/6c9f1b8c24052134413b1a7d7d0599339daffc32/src/main.cpp#L1689" rel="noreferrer">source</a>.</p>
