SHARE
TWEET

CLONING A COIN THE EASY WAY IN ABOUT 20 MINUTES by iGotSpots

a guest Aug 12th, 2015 5,343 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CLONING A COIN THE EASY WAY IN ABOUT 20 MINUTES by iGotSpots
  2.  
  3.  
  4. 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
  5.  
  6. I have uploaded the GorillaTeeth source to: https://drive.google.com/file/d/0B9tCHKMNZjyYLXpjTXVMN2laNnM
  7.  
  8.  
  9. -
  10. 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
  11.  
  12. -
  13. /src/qt/bitcoingui.cpp:80 - Change the window title to whatever you want your coins wallet to show
  14.  
  15. -
  16. /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
  17.  
  18. -
  19. /src/net.cpp:1000 - Enter DNS information to allow wallets to connect to peers without needing addnodes
  20.  
  21. -
  22. /src/base58.h:267 - Change the pubkey to the corresponding number for the letter you want addresses to start with
  23.  
  24. -
  25. /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
  26.  
  27. -
  28. /src/protocol.h:18/19 - These are the ports your new coin will use
  29.  
  30. -
  31. /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)
  32.  
  33. -
  34. /src/version.cpp:14 - Change to whatever you want your buildname to be
  35.  
  36. -
  37. /src/version.h:31-34: This will be the version number for your new coin in the format of 4.0.0.0
  38.  
  39. -
  40. /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
  41.  
  42. -
  43. /src/main.cpp:832 - This is where you can put whatever you want for mining rewards
  44. /src/main.cpp:838 - If you want to use conventional staking, this is where the yearly stake rate is set
  45. /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
  46. /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
  47.  
  48. -
  49. /src/qt/res/icons - This is the folder that contains all the icons for your wallet
  50. /src/qt/res/images - This is the splash (loading) screen for your new coin
  51.  
  52.  
  53. -
  54. SETTING UP DNS SEEDS
  55. Go the the DNS settings of the domain you wish to use and add a DNS Record as follows:
  56.  
  57. dnsseed.domain.com (Change to whatever is in your source)
  58. A Record
  59. 14400
  60. Point it to the IP of your dedicated node (or checkpoint server's IP)
  61.  
  62. You can add multiple seeds by repeating these steps and simply changing the IP it is pointed to
  63.  
  64.  
  65. -
  66. SETTING UP A CHECKPOINT SERVER
  67. Create a conf file on the VPS or computer you wish to run 24/7 and add:
  68.  
  69. checkpointkey=PrivateKeyFromAbove
  70.  
  71. This will automatically create checkpoints every few blocks
  72.  
  73.  
  74. ----------
  75.  
  76. 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  ;)
  77.  
  78. 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
  79.  
  80. 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
  81.  
  82. Enjoy!
  83.  
  84. -iGotSpots
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top