- Pre Installers.
- 1a. Winrar
- 1b. Compression
- 1c. MinGW
- Windows Deps.
- 2a. OpenSSL
- 2b.Berkeley DB
- 2c. Boost
- 2d. MiniUPNP
- 2e. Protoc and Libprotobuf
- 2f. Libpng
- 2g. qrencode
- Download and Compile QT.
- The Clone
- 4a. Source Code
- 4b. Copy and Substitute Litecoin
- 4c. Copy and Substitute LTC
- 4d. Switch rpc and port numbers.
- 4e. Switch kicking off letterteken for addresses.
- 4f. Update client version number.
- 4g. Switch Litecoin example addresses to Clonecoin Addresses.
- 4h. Switch char pchMessageStart and ParseHex.
- 4i. Switch attent keys.
- 4j. Liquidate Merkel root and Genesis Block.
- 4k. Liquidate Nonce and testnet genesis.
- 4l. Add Epoochtime and Timestamp.
- 4m. Fixing the checkpoints.
- 4n. Switch max money supply and coinbase maturity.
- 4o. Switch block times from Two.Five minutes to 30 seconds.
- 4p. Switch re-targeting
- 4q. Add premine and switch block prizes.
- 4r. Update Photos.
- 4s. Update Seed knot/ AWS Seed knot guide.
- Hashing the Genesis Block and Merkel Root.
- 5a. Capability to hash Genesis Block.
- 5b. Compiling Clonecoin Windows QT.
- 5c. Generating Merkel Root
- 5d. Hashing the Genesis Block.
- Connecting your knots.
- 6a. Create a conf.
- 6b. Connect- server and huis network.
- Checkpointing the premine.
- Clean up Your Code.
- Compiling Clonecoind.
- 9a. Compile Clonecoind.
- 9b. Eliminate and cleanup.
- Github for release, made effortless.
- 10a. Effortless Pushing Commits/Launch code.
- 10b. Effortless Revert Commits
- 10c. Effortless Pushing Updates.
- Common Errors
- Quick Logos
- The Webstek.
- 13a. The Template.
- 13b. Upload to a webstek.
- The Launch. Ninja vs Pumped vs ICO.
- 14a. Prelaunch
- 14b. The Ninja
- 14c. The Pumped.
- 14d. The ICO.
1. Pre Installers.
1a. Opstopping Compressor/Extractor
Download and install Winrar or an alternate opstopping compression instrument. http://www.rarlab.com/download.htm
1b. Text Editor.
Download and install a text editor such spil Sublime Text. You need a text editor that can lightly search and substitute case sensitive text.
1c. Download and install MingW
Dual click to install, keep the checkbox for the GUI checked and make sure to install te C:\MinGW . Press proceed. From the MinGW GUI interface, go to all packages ->, MYSYS Right click on the following installations and mark for installation.
- msys-base-bin (may highlight other checkboxes which is fine)
Click on Installation ->, Apply switches . MinGW will now download the remaining packages. Make sure to liquidate any previous installs of MinGW before beginning.
Once finish, navigate to C:\MinGW\bin and you should only have a mingw-get application. If you have msys-gcc and msys-w32api you need to delete MinGW and check the onberispelijk install packages are selected above.
You now need to switch the path variables. Go to control panel->,system and security->,system . Click on advanced system properties->,environmental variables . Te the top opbergruimte navigate to PATH and switch to
Checking your MingW install.
To commence the MingW app navigate to C:\MinGW\msys\1.0\msys.bat , create a desktop shortcut spil you will use the msys guideline spil well spil the windows instruction prompts. Dual click to begin and inject the following to display the version and onberispelijk paths.
Your msys output should look like the following code.
If you are having issues I have uploaded a MinGW install here
Two. Download and Install Dependencies.
Create a deps folder at C:\deps . If you want to cheat you can download the pre-built dependencies here, however it is recommended to build your own.
Install OpenSSL dependencies on Windows.
Open the MinGW shell at C:\MinGW\msys\1.0\msys.bat
2b. Berkeley DB
Te the MinGW shell use the following code.
Make sure to download either the 7z or zip versions. Dual click on the folder to samenvatting boost_1_55_0 ter your deps folder. This may take several minutes depending on your PC’s speed.
Using the Windows directive prompt, bootstrap and compile boost. To bring up the windows instruction prompt just type cmd te the windows search brochure.
2d. Mini UPNP
Rename folder from miniupnpc-1.9.20140911 to miniupnpc then from a Windows instruction prompt:
2e. Protoc and Libprotobuf:
Ter the msys shell run
Ter msys shell run
Ter msys shell run
Three. Download and Compile QT.
Once again check it resides te C:\Qt\Four.8.6 not C:\Qt\Four.8.6\Four.8.6 . Due to a bug ter Four.8.6 you will need to apply the patch available here.
For those who can’t find or work it out, you need to switch the following lines ter C:\Qt\Four.8.6\devices\configure\configureapp.cpp or download the patched opstopping here and substitute it ter C:\Qt\Four.8.6\instruments\configure\configureapp.cpp
From your Windows directive prompt run
Now wij are ready to embark the cloning process.
If you are worried about compilation, it would be wise to hop ahead and ensure everything is working with compiling the client before working with the clone.
Four. The Clone
Te this guide wij will be cloning Litecoin. Litecoin is a Scrypt based coin and the original altcoin. I will be calling this coin “Clonecoin” (CLN).
4a. Download and samenvatting the Litecoin source.
Ter this guide I will be placing the source code ter C:\Clonecoin
4b. Copy and Substitute Litecoin
Using your test editor, search out and substitute all instances of “Litecoin” with “Clonecoin”. Make sure your search is case sensitive and search for all instances, substitute “Litecoin” with “Clonecoin”, “litecoin” with “clonecoin” etc. Run a search without case sensitivity before continuing to ensure you have all instances.
4c. Copy and Substitute LTC.
Using your test editor, search out and substitute all instances of “LTC” with “CLN”.
4d. Switch rpc and port numbers.
Litecoin uses port 9333 testnet 19333, rpcport 9332 testnet 19332. Wij will switch them to port 10333 testnet 11333, rpcport 10332 testnet 11332
4e. Switch commencing letterteken for addresses.
Ter this case wij switch the 48 to 28, therefore all addresses will embark with “C”.
4f. Update client version number.
Since its indeed a fork of Litecoin wij will bring the version numbers up to 184.108.40.206.
4g. Switch Litecoin example addresses to Clonecoin Addresses.
Here wij switch the LTC addresss Ler4HNAEfwYhBmGXcFP2Po1NpRUEiK8km2 to a Clonecoin mystery address commencing with c. (see step 6d)
4h. Switch char pchMessageStart and ParseHex.
Wij want thesis to be unique to Clonecoin. Be wary of switching pchMessageStart to to letters other than a-f . All numbers are fine to use.
4i. Switch oplettend keys
. Wij just switch thesis to be different from Litecoin to avoid the Litecoin messages.
4j. Eliminate Merkel root and Genesis Block.
Thesis will be substituted zometeen on. However for now and ter the near future they are no longer needed.
4k. Liquidate Nonce and testnet genesis.
Wij eliminate the testnet genesis block and nonce.
4l. Add Epochtime and Timestamp.
To create a genesis block wij need an epoch time and a spoken timestamp. The current epoch time can be obtained from http://www.epochconverter.com/ and the latest news headline can be used for the spoken timestamp. Wij also substitute the testnet timestamp.
4m. Fixing the checkpoints.
Wij comment out the hardcoded checkpoint and switch the genesis block checkpoint.
4n. Switch max money supply and coinbase maturity.
Wij just multiplied total coins by Ten and diminished coin based maturity. The higher the number of confirmations the better for the network.
4o. Switch block times from Two.Five minutes to 30 seconds.
4p. Switch re-targeting from the ridiculous Two.Five days to every Five minutes.
This is cutting out a puny portion of instamining.
4q. Add premine and switch block prizes.
Since wij primarily enlargened block prizes by x10, wij will increase the base prize from 50 to 500. Wij then add a premine on block Two spil well spil a staggered decrease ter block sizes.
4r. Update Pictures.
If you have not already, you will need a splash and logo. You will need to update src/rec/icons – bitcoin.jpg , bitcoin_testnet.jpg , bitcoin.icon , bitcoin_testnet.icon (all 256×256 pixels), toolbar.jpg and toolbar_testnet.jpg (16×16 pixels).
Also update src/res/pics , splash.jpg , splash_testnet.jpg and about.jpg .
4s. Update Seed node-
Very first you will need to create a dedicated knot. This is a quick effortless guide.
Head to Amazon AWS console and create an account. Click on the EC2 verbinding on the left. See AWS pricing
Create and example, select Microsoft Windows Server 2012 R2 Base , select your server preference – wij chose t2.micro which is free tier eligible.
Click Next: Configure Example Details , highlight Protect against accidental termination , click review and launch.
Go to security settings, open all ports and click launch. Create a security key pair and make sure to download it and keep it safe. Launch your example.
On the aws example huis screen click the Elastic IP tabulator, click allocate Ip address and confirm. While still te the Elastic IP tabulator, click allocate and allocate to the example by clicking the top checkbox and identifying your server. Confirm. Your example will take around 15 minutes to launch.
To connect. Click the example tabulator, highlight your example and press connect . Using your key from earlier, you are now able to download a server shortcut and server password.
Using your fresh Elastic IP, substitute your fresh IP removing Litecoin old seed knots.
Four.t Switch the name of the bitcoin-qt.professional opstopping to clonecoin-qt.voor
Five. Hashing the Genesis Block and Merkel Root.
5a. Capability to hash Genesis Block.
Wij now need to add the capability to hash a fresh genesis block so wij add the following code to main.cpp.
5b. Compiling Clonecoin Windows QT.
Create libleveldb.a and libmemenv.a .
Using Msys shell, run. For this wij have Clonecoin ter C:/Clonecoin
If the verkeersopstopping already exists, Msys will inform you so.
Open your Clonecoin-qt.voor verkeersopstopping.
Wij now need to switch the dependency directory locations
and comment out the genleveldb instruction
and add the flags for a static build.
Now from the Windows cmd, run
Your Clonecoin-qt should now be available te your C:\clonecoin\release folder after around Five minutes. If errors occur, scroll up and read them attempt to identify and fix.
5c. Generating Merkel Root
Begin your Clonecoin-qt . You should see an error Assertion failed!
Navigate to your Clonecoin appdata folder C:\Users\(YOUR*PC*NAME)\AppData\Wandering\Clonecoin and open the debug loom ter a text editor. The folder is hidden by default, so typing %appdata% ter the Windows search buffet will bring up access to the wandering\clonecoin folder.
Scroll to the bottom of the text to find the following lines.
The bottom hash is the merkel root, wij take this and add it to main.cpp
5d. Hashing the Genesis Block.
Wij now need to recompile the client ter Windows cmd . You can liquidate the path and directory if you still have the client open.
Restart the client. The previous Merkel error should not occur and the client should show up to string up on launch. It is now hashing your genesis block.
How long this takes can vary from a few seconds to minutes. Once the client suspends with a genesis block error, open your debug text opstopping again te your Clonecoin appdata folder C:\Users\(YOUR*PC*NAME)\AppData\Wandering\Clonecoin
Wij will now add thesis to main.ccp .
Recompile the Windows QT. From the Windows cmd , run
Your Clonecoin-qt should now be available ter your C:\clonecoin\release folder.
6. Connecting your knots.
Now you have your client wij need to connect the knots to check everything is working. You can use testnet however its just spil effortless to use mainnet.
Connect to your server wij set up earlier or use another local machine.
6a. Create a conf. opstopping.
Wij only create this now to enable mining to check the network.
Your conf. verkeersopstopping should be placed ter C:\Users\(YOUR**PC**NAME)\AppData\Wandering\clonecoin .
To create a conf opstopping, right click new->,text document . Copy and paste the code below substituting a suitable username and password. Click save , switch verkeersopstopping type to all and save spil clonecoin.conf . Or just download this one
Upload your client to the server and embark the client. The two clients should connect.
You may need to add your local IPs to the conf opstopping. To do this type cmd to bring up instruction prompt, type ipconfig and use the IPv4 address te your addnode settings on both machines.
Once both clients are connected you can commence to mine blocks.
You can either use the traditional Scrypt miner or type setgenerate true -1 into your main console.
Mine spil many blocks spil you want, checking diff adjustment and ensure block prizes are keurig. It is advised to confirm some transactions, send some coins and check the client for any errors or adjustments.
Te this case I missed the toolbar.jpg and testnet_toolbar.jpg spil a deliberate example of why you “SHOULD ALWAYS CHECK YOUR CLIENT BEFORE RELEASE”
If you want to restart the chain you need to delete the chain by going to your Clonecoin wandering folder on both machines and deleting everything.
7. Checkpointing the premine.
If you followed all the steps above you should be sitting with a lovely source code and compiled client.
Wij have a few things to finish and checkpointing the premine is very significant.
Many coin launches have bot lost by people not knowing or leaving behind to do this step. Without a checkpoint you can very likely smooch your premine goodbye to a hash attack on launch.
Embark your compiled clients on both machines. Since wij deleted the blockchain earlier mine your premine, plus 2-3 blocks.
Open the concole on the clonecoin client and type, getblockhash 1 , getblockhash Two , getblockhash Three . Wij will use thesis three hashes to checkpoint the premine.
Wij also need some gegevens from the C:\Users\(YOUR**PC**NAME)\AppData\Wandering\clonecoin\debug opstopping.
Wij are looking for the details of the highest checkpointed block, ter this case block Trio.
You will need to convert the last block time to an epochtime date i.e. ter this example, from 2014-11-11 15:02:57 to 1415718177. Use epochconverter for convenience
Now wij add the block hashes for blocks 1, Two and Trio and insert the highest block (block Trio) details into the checkpoint block details. Wij also add the estimated number of transactions vanaf day after the checkpoint.
Recompile your client.
Back up your C:\Users\(YOUR**PC**NAME)\AppData\Wandering\clonecoin folder. This now has your premine.
You now need to check the checkpoints are onberispelijk. On the client that does not have the premine, navigate to C:\Users\(YOUR**PC**NAME)\AppData\Wandering\clonecoin and delete everything EXCEPT wallet.dat (very significant, DO NOT DELETE) and clonecoin.conf files.
Restart the client. If your checkpoints are juist the client should update and sync without issues.
8. Clean up your code.
Clean up your README with your fresh specifications, prizes, webstek etc.
Liquidate your build deps and switches from clonecoin-qt.voor
9. Compiling Clonecoind.
9a. Compile Clonecoind
Navigate to C:\clonecoin\src\makefile.mingw and open with your text editor. You will see:
switch it to read:
Wij switch the deps to point to the deps wij created earlier. If you chose to place your deps te a different folder, switch the code to point to your folders. Wij also used -static ter LDFLAGS=-Wl,–dynamicbase -Wl,–nxcompat -Wl,–large-address-aware -static for a static linked exe, updated UPNP Includes and Lib paths to enable UPNP.
Te the Msys shell, you can now compile litecoind.
Your clonecoind should now be te your C:\clonecoin\src folder.
9b. Liquidate libleveldb.a and libmemev.a from C:\Clonecoin\src\leveldb.
Eliminate your Clonecoin-qt from the release folder and zip for release.
Delete the release, debug and build folders. This is your code for release.
Ten. Github for release, made effortless.
- Create a Github account.
- Download the latest Github Windows client. Then run the Github install and use your login details from Github to loom into the client.
- Navigate to you Github account, click repositories->,fresh . Inject the repository name, description and public or private. “Public” permits everyone to see your code and is recommended for advanced users who can shove codes quickly. Most launches will choose a paid private account, permitting them to pre-load the release source code and open the repository from public to private instantly. Click done, then on the next screen click the green “Set up ter Desktop” button. Permit the browser to launch the Github client, select the location of your Github depositories, usually te the Github folder of your documents. Click “OK”. You now have a folder that you can update your source code and lightly thrust commits to Github.
10a. Effortless Pushing Commits/Launch Code.
Copy and paste your source code into the documents/github/yourcoinnamefolder . Ter your Windows Github client, click on your client name on the left palm side.
Your Github client should recognise a host of switches if present. Pack te the commit details, select the files that need to be committed, usually all and on by default and press commit.
On the top right forearm side will be a publish or sync opbergruimte, click that and the Github Windows client will shove the switches and source code to your repository on Github.
10b. Effortless Revert Commits.
Open your Github client and ensure it’s sync’d. Highlight your repository. Click on the commit to you wish to rollback, then revert.
On the top right palm side will be a publish or sync opbergruimte, click that and the Github Windows client will shove the revert to your repository on Github.
10c. Effortless Pushing Updates.
Loom into your Github Windows client. Click on the altcoin tabulator ter the left and click sync to ensure your local code is up to date.
Edit your local code ter your documents/github/yourcoinname folder.
Once your Github client picks up the switches inject the commit details and commit to Github.
11. Common Errors/Mistakes.
I am getting “this” error.
Most errors can be solved with a little effort. The compiler will usually display an error message or warning. Read it.
If it’s UPNP error check your directories ter your voor verkeersopstopping, then check your UPNP deps, rebuild them.
Google it. Most things can be solved far quicker with a little investigation into the errors vs posting ter a forum and awaiting reply.
I am still eyeing the old logos on my desktop shortcuts.
Windows cache has cached the photo. The easiest way to solve this is run a program such spil Glarys Utilities to clear your PC. Also delete the build folder ter inbetween builds to ensure your builds are clean.
Makefile.Release:291: recipe for target ‘release\clonecoin-qt.exe’ failed
Close your client.
12. Creating your own logo.
There are a few effortless ways to get a logo. If you have Photoshop and want a effortless template attempt http://apsdfile.com/coin-generator-for-photoshop/.
Install GIMP. GIMP is a free utility available to download from http://www.gimp.org/ and attempt youtube vids.
For those looking for an even swifter alternative attempt instruments like http://www.onlinebadgemaker.com/3d-badge-maker.
Thesis can be used for quick launches or makeshift pictures while you wait, purchase or make an official one.
13. The Webstek.
13a. The Template.
Download and install a free webstek editor, Bluegriffon is a prime example.
Find yourself a suitable template. Download and edit the template with all your coin details.
13b. Upload to a webstek.
Create an account at Namecheap, they accept BTC.
Register the domain and commission hosting at the same time, that way there is no DNS delay.
Usually you can pick up a year hosting with domain and SSL if you want for under .15 BTC.
If this is a one-off coin launch then a ordinary hosting project will suffice. If you’re looking to launch more coins, choose a dedicated server or reseller project.
Once your order is confirmed loom into cpanel with the details provided, enable cloudflare and ssl of you purchased it.
Single hosting plans will require support for SSL, dedicated or reseller accounts have the capability to self enable through WHM.
Te CPanel, go to verkeersopstopping manager and upload your webpagina to the public_html folder. Your webstek should be now viewable on your domain.
14. The Launch. Ninja vs Pumped vs ICO.
Launching a coin is the make or pauze point. The style of launch will dictate how to prepare.
The key to a good launch is timing and consistency. Don’t release the code early and make sure it works.
Create your Bitcointalk account. The earlier the better to get rid of posting confinements on fresh accounts.
Create accounts on Twitter, Facebook, cryptocointalk, IRC, Reddit and all the usual channels.
14b. The Ninja
This gives the developer more time, no confinements with no one looking or ready. With thesis coins you can set the network up early and don’t have people looking for the code.
Uploading the code to github a minute lightly will likely be enough time to zekering anyone searching. Webstek can go live early and some argue it gives miners a better chance.
Usually a ninja launch involves a instamine permitting the developers to mine many blocks.
14c. The Pumped.
Stiffer to do. The pre-hype means you will have people looking for the code on Github and websites.
Your code needs to be solid to treat a massive intake of hashing power and be ready for the harshest critics.
14d. The ICO.
An advanced pump coin that needs a reliable escrow, good hype and delivery of goods.
Most ICO’s produce nothing but BTC to the developer and violated promises to the users.
Find a good escrow, take time with your code and recall to keep an open and clear communication.
Cloning Litecoin wasgoed published on April 17, 2015 .