Bitcoin Price USD

BTC-E: $ | OKcoin: $ | CoinBase: $
Difficulty: Array

TOPIC: How to Create your own Cryptocurrency / Altcoin 1 - Dev

How to Create your own Cryptocurrency / Altcoin 1 - Dev 4 years 9 months ago #140

  • Support
  • Support's Avatar
  • Offline
  • New Member
  • Posts: 19
  • Thank you received: 6
  • Karma: 3
Here is another tutorial on how to start your own Altcoin / Cryptocurrency, this one was made by iGotSpots from BitcoinTalk and does not require to mine the genesis block.

In this guide, you will learn how to create your own altcoin without the need of mining your own genesis block, which is what gets most new-cloners hung up. So instead, I will show you a quick and easy workaround for it. You are able to achieve the same desired results with minimal effort. We will be using GorillaTeeth as our base coin, since it is the last one that uses the conventional staking system, which is a clone of MMXIV, which is a direct clone of Peercoin. Many coins have used this method and share genesis blocks; the most popular, and earliest, being Feathercoin, which shares the same genesis as Litecoin

I have uploaded the GorillaTeeth source to:

Open all files in a text editor such as Notepad++ and mass-replace the coin's name. In this case, you will want to search and replace 'GorillaTeeth' and 'TEETH' with your new coin's name

/src/qt/bitcoingui.cpp:80 - Change the window title to whatever you want your coins wallet to show

/src/qt/bitcoinunits/cpp:37-39 - This is where the symbol is that will be displayed in the QT. If you mass-replaced correctly, chances are this is already changed

/src/net.cpp:1000 - Enter DNS information to allow wallets to connect to peers without needing addnodes

/src/base58.h:267 - Change the pubkey to the corresponding number for the letter you want addresses to start with

/src/checkpoints.cpp:376 - Generate a new keypair using 'makekeypair' in Variance. Put the Public Key here, save the Private Key for your automated checkpoint server

/src/protocol.h:18/19 - These are the ports your new coin will use

/src/protocol.cpp:19 - Change the pchMessage values to be unique to your coin (otherwise you will try piggybacking other chains and it will cause problems)

/src/version.cpp:14 - Change to whatever you want your buildname to be

/src/version.h:31-34: This will be the version number for your new coin in the format of

/src/main.h:31-47 - These are overall coin specs and most are written in readable english. If you don't know what one means, don't change it. Values are in satoshi format

/src/main.cpp:832 - This is where you can put whatever you want for mining rewards
/src/main.cpp:838 - If you want to use conventional staking, this is where the yearly stake rate is set
/src/main.cpp:853 - This is the formula for calculating stake rewards. You can make it different, leave it the same, or use flat rewards here
/src/main.cpp:909 - This is the hard reset for mining rewards. You can change that to whatever block you want to keep difficulty at the mininum for. In TEETH, it is very low since we did a coin swap and needed to ensure quick mining for transfers of the swap to go through without relying on PoS. To not be accused of an instamine, it is best to just remove lines 909 and 910 altogether

/src/qt/res/icons - This is the folder that contains all the icons for your wallet
/src/qt/res/images - This is the splash (loading) screen for your new coin

Go the the DNS settings of the domain you wish to use and add a DNS Record as follows: (Change to whatever is in your source)
A Record
Point it to the IP of your dedicated node (or checkpoint server's IP)

You can add multiple seeds by repeating these steps and simply changing the IP it is pointed to

Create a conf file on the VPS or computer you wish to run 24/7 and add:


This will automatically create checkpoints every few blocks

You now have source code for a coin that will function just like an independent blockchain without the need of multiple compiles, replacing nNonce, Merkle, or Genesis hashes. It will work the same as if you did, but will save you the headache of trying to figure out how to do it. These steps are what most people send me questions about, which is why I am telling you how to just get around it since you are obviously looking for the fastest way to clone a coin or you wouldn't be looking for a guide anyway ;)

There are a shitload more customizations and changes you can make throughout the source. My suggestion is to read through the files and simply search for whatever feature you are trying to change; most have descriptions or bookmarks commented out and will allow you to find them easily. If you run into any problems, you can PM me and if it's a step I missed, I will tell you and edit this guide, but if it's your own fault causing the error, I will most likely not respond. Therefore, if you do not get a response from me, chances are you're doing something wrong. If I answer, that means I forgot a step and will include it in the next version

If you want to know how to generate your own genesis/merkle, I think shakezula's guide has that in there, but I'm not exactly sure. I know a lot of people refer others to those, so I assume those steps are in there, as well, but I could be wrong. I have used this method for several coins without issue, and 99% of the time, people don't even know how to check for unique genesis block anyway, so you might as well just ignore it

The administrator has disabled public write access.
The following user(s) said Thank You: uberpay
Time to create page: 0.251 seconds