Learn The Steps to Start Your Own ERC20 Token and The Fast Way to Launch Your Own ICO on Ethereum
The ICO movement has been compared to a digital gold rush. Today, we’re going to explain how to make your very own stake in that gold rush by launching your own ICO on Ethereum in 30 minutes or less.
You’re going to need to “program” in Solidity to deploy your smart contract. However, you don’t actually need any previous programming knowledge. Various online resources listed below will help you complete the process with no previous Solidity experience. You can get a pre-built Solidity contract that comes outfitted with everything you need to launch your own ERC20 token, for example.
What Are ERC20 Tokens?
ERC20 tokens are custom-made tokens on the Ethereum platform. They’re tokens created by the Ethereum Virtual Machine, or EVM.
Many of the ICOs you hear about today use ERC20 tokens. In fact, many projects launch ERC20 tokens before they launch their own mainnet, then migrate existing ERC20 tokens to the mainnet once their project is completed.
The important thing to remember is that ERC20 is just a standard. It’s a unified standard for tokens created within the Ethereum platform. Because of the ERC20 standard, you can create your own cryptocurrency and store it within an existing Ethereum wallet that supports ERC20 tokens. You don’t need to develop your own wallet to send or receive ERC20 tokens.
Next, let’s take a closer look at how to make your own ERC20 tokens.
How To Create An Ethereum ERC20 Token
Creating an ERC20 token is straightforward. There are plenty of guides online that will walk you through the entire process.
Follow this walkthrough by Moritz Neto, for example, or check out this video created by Ivan on Tech on YouTube. Both will explain how to create your own ERC20 token in 20 to 30 minutes.
What You Need
To get started, you’re going to need all of the following. We’ll explain how to get each resource down below.
- An Ethereum address
- Some Ethereum
- A text editor (like Sublime or Atom)
- A Solidity contract
If you’re launching a token just for fun, then there’s no need to use real Ethereum funds on the real Ethereum network. Instead, use the Ropsten Test network for Ethereum, which allows you to mess around on the Ethereum platform without risking any real assets.
How To Get An Ethereum Address
Step 1) Download MyEtherWallet and create an account
Step 2) Click the right-hand corner of MyEtherWallet and change your network to Ropsten (MyEtherWallet), then click the New Wallet link and enter a password you’ll remember. Download and save your keystore file in a safe space, then save your private key in a safe space as well.
Step 3) View your wallet address by going to View Wallet Info > Private Key and enter the saved private key. Unlock your wallet and everything should be there.
How To Get A Text Editor
Download Sublime Text or Atom to access a popular text editor.
How To Get A Solidity Contract
You can make your own Solidity contract from scratch. Or, you can get one of the custom-designed ones already available online. BokkyPooBah made one for Moritz Neto’s guide. You can access that Solidity contract here.
You’ll edit this code to create your own token.
How To Get Ropsten Ethers
Next you’ll need to get some Ethereum. Since we’re assuming you’re working within a test environment, the best way to get Ethereum is from the faucet created as part of Moritz Neto’s guide above. That faucet is available here: https://faucet.bitfwd.xyz/
Put your Ropsten address into that faucet and the faucet – which is really just a smart contract – will automatically transfer you some Ropsten ETH.
Step by Step Guide
The next step is to actually setup your Ethereum contract and create your ERC20 tokens. This requires opening the text editor and inputting basic programming codes. However, you can do it with no prior programming knowledge. The steps below just involve basic typing, copying, and pasting.
Step 1) Open the contract you downloaded up above using your text editor
Step 2) Go to lines 3 to 15 of the contract and look at the comment section. If you used the contract above, then you should see something called the “0Fucks” token.
Step 3) Change line 4 to the title of your smart contract.
Step 4) Change line 6 to the Ropsten Ethereum address you created in MyEtherWallet
Step 5) Change Line 7 to the desired name of your coin.
Step 6) Change line 8 to the name of your token
Step 7) Go to line 102 and changes “FucksToken” (the default name in the smart contract) to the name of your token (i.e. “YourTokenName”)
Step 8) Repeat this process in line 115
Step 9) Go to line 116 and change the symbol name, changing it to the same symbol as the one listed in the comment section
Step 10) Repeat this process for line 117
Step 11) Change line 120’s address to be the same as the one you generated in MyEtherWallet, then do the same in line 121
Step 12) On lines 118 and 119, you’ll see the total supply and the number of decimals into which your coin can be split. You don’t have to change anything here if you don’t want to. The standard splitting amount if 18 decimals, which means a coin can be split into 18 parts. It’s important to remember that your total supply will be the number of tokens followed by the number of decimals. If you want to emit 100 tokens, for example, then you’ll need to write 100 followed by 18 zeroes, like this: 100000000000000000000. Feel free to edit the number of decimals and the total supply however you like. Or, keep it as-is.
Step 13) Go to http://remix.ethereum.org/
Step 14) In your browser/ballot.sol, paste the code you edited in steps 12 and earlier. If you see something red pop up, then there’s a problem with your code. If you see something yellow, then there may be an issue – but you can still compile it and hope for the best.
Step 15) Go to Compile > Details > Choose the token you’re creating
Step 16) Under ByteCode, press the icon with the clipboard to copy the ByteCode to your clipboard.
Step 17) Go to MyEtherWallet and deploy the contract. Make sure you’re on the Ropsten testnet and not the Ethereum mainnet.
Step 18) Go to the Contracts tab, then press Deploy Contract
Step 19) Paste your ByteCode into the ByteCode box. You should see your gas limit automatically update.
Step 20) Access your wallet through Private Key > Enter your private key > Unlock your wallet
Step 21) Press Sign Transaction > Deploy Transaction. This is where your ERC20 token creation will either succeed or fail, so cross your fingers
Step 22) After a few seconds, you can check if your contract went through by looking at https://ropsten.etherscan.io/. If everything worked properly, you should see a transaction information page with all information related to your ERC20 token.
Step 23) The next step is to register the contract. To do that, go to the Overview tab and click on Contact Address, then go to the Contract Code Tab and click Verify and Publish
Step 24) You’re almost done! These next few steps are the most important. The final step is to make sure the code fits with what you claim to be deploying to the network. All changes you make during these next few steps will be registered on the blockchain permanently – so if you make a mistake, it will be a mistake forever and you’ll need to start over.
Step 25) Make sure the contract address field corresponds to the contract address that you just deployed. Remember that the contract address is different from the MyEtherWallet address you created, so make sure you don’t confuse the two.
Step 26) The contract name has to match the one in the code. Check line 102 to make sure it matches.
Step 27) Check which version of the compiler you’re running by going to the remix page where you got the ByteCode from, then look at the URL. You should see a compiler version number that looks like v0.4.19+commit.c4cbbb05.js
Step 28) Under Optimization, choose No
Step 29) On “Enter the Solidity Contract Code Below”, copy the entire code from Remix, then paste it into the area. Don’t paste the ByteCode – just the code itself. You can also copy directly from your text editor.
Step 30) Leave the other fields blank, then click Verify and Publish.
At this point, if everything worked properly, you’ll see a success page with green checkmarks. That means your contract has been successfully deployed. If you see a red message, then you messed up somewhere along the way. Re-check the steps above. Or, for a more detailed tutorial, check out this fantastic walkthrough.
You can confirm everything worked by checking the Ropsten testnet blockchain here: https://ropsten.etherscan.io/.
Look at your MyEtherWallet address – not your contract one, but your public address. If you see your coins there, then you’ve done everything correctly. Your own custom tokens have been successfully deployed on the Ethereum testnet.
How To Send And Receive Your Custom Tokens
When you’re ready to send your tokens, go to your MyEtherWallet account by going to Wallet Info > Accessing and putting in your private key > Unlocking wallet > Load tokens. Your tokens are loaded, at which point they’ll be able to be transferred just like ordinary tokens.
Creating Your Own ERC20 Token Conclusion
That’s it! You’ve successfully created your own custom ERC20 token on the Ethereum Ropsten test network. There’s really no difference when deploying the smart contract on the main Ethereum blockchain – aside from the fact that you’ll need to use real ETH.
Kudos to Moritz Neto for publishing the excellent walkthrough online here.