DEV Community

Cover image for How to issue your own token on Ethereum
Guiller
Guiller

Posted on

How to issue your own token on Ethereum

In this tutorial, the aim is to walk you through the steps of setting up your account and issuing your first token on the Ethereum network using a single smart contract.
The token will be a standard ERC20, will have the main functions and can be used as a general basis for more sophisticated applications than just transferring them.

Ethereum address
In this tutorial, we will use a testnet to issue the token, so you don't spend real Ether ETH. We will use the Ropsten Test network. To get started, go to MyEtherWallet (MEW) and create an account there.

To get setup, click right corner, change network to Ropsten ( MyEtherWallet or MetaMask Wallet ) → click New Wallet → Enter a password you can remember → Download/save your Keystore file to a safe space → Save your private key in a safe space. The whole process of creating an account and connecting to the test network is very simple and we can go to the new pass0.

ETH postman address -
Address of your wallet, go to → View wallet information → Private key → Enter saved private key → Unlock your wallet and it should be there!
Basically what you will have to do in simple terms:
Download MetaMask from metamask.io.
Select Ropsten Network.
Select DEPOSIT.
Claim 1 Ropsten ETH.
Trigger a faucet to obtain ETH coins tests to create your token.
Transact to the address you will use for the MyCrypto tutorial.

Contract
Download the smart contract that legendary Ethereum unicorn knight BokkyPooBah helped us make by clicking here. ⬅️
You will be editing this code for your own token.

Now let's get started:

Open the contract you downloaded in your Text Editor.
Go to Line 3–15 and see the comments section. Although this is a comments section, this will help you get on the path. For me, 0Fucks was my first :). Basically, you send someone 0Fucks when you don't care.
Change Line 4 to your smart contract title
Change Line 6 to the Ropsten Ethereum address you created in MyEtherWallet
Change the symbol from line 7 to the respective currency name (keep it short)
Change Line 8 to your token name

Next:
Go to line 102 and change "FucksToken" to "(YourTokenName)
Do the same for line 115
Go to line 116 and change the symbol name, the same as you did in the comments section
Do the same for line 117
Change line 120 address to be the same as you generated in MEW
The same goes for Line 121

For the decimal places and the total supply on Lines 118 and 119 you can leave it as is, however I will explain just for visibility. In the total offer, there are some considerations. The first is that the default (and maximum) has 18 decimal places, which means that a coin can be divided into 18 parts.
The second is that, say, for example, you want to issue 100 tokens, in the total supply part you must put 100, followed by the number of decimal places you choose.
Ex: If I want to issue 100 tokens, what I will put in the total supply is: 100000000000000000000; and so on.

After that, we finish editing the code. Yes, that was easy. Now let's do some cool stuff...
Go to http://remix.ethereum.org/
In the browser / ballot.sol, paste the code you just edited! If something red appears, there is something wrong with the code. If there's a yellow warning, that's fine, we hope for the best.
Now in Build → Details → Choose the token you are creating
In ByteCode, press the to button to copy the ByteCode to the clipboard - (In this section, what may appear are different things in the ByteCode. What you should copy is the ByteCode of the “object”, adding 0x at the beginning. will have 0xByteCode.)

Go to the MEW where we will start deploying the contract. Remember we want to be on the Ropsten Test Network so make sure the top right says
Navigate to Contracts tab → Press Deploy Contract
Paste your ByteCode in the ByteCode box. Your gas limit should update automatically
Access your wallet by going to Private key → Enter your private key → Unlock your wallet
Now press Sign transaction → Implement transaction
ATTENTION: This is the moment when you must cross your fingers for the first time for a few seconds. 🤞
Click on the tx transaction or go to https://ropsten.etherscan.io to verify that the contract has been approved. If not, start over and try to figure out what you got wrong. If yes, you are basically Vitalik 2.0, be proud.
If all goes well, this is a sample image of what you should be seeing.

Now let's register this contract. Do that:
On the Overview tab → Click on the contract address
Go to Contract Code tab → Click Verify and Publish

Almost there... The following steps are really important. So look carefully. Basically what we're doing here is trying to make sure the code fits what you say you're deploying and logging onto the network. FOREVER .
So if you make mistakes, you are wrong forever. What a friend told me this on Blockchain:
Do it right once or wrong forever.
Now you have 5 things to do on this page.
Make sure the contract address field matches the contract address you just deployed. Remember that the contract address is different from the MEW address you created, so make sure you don't confuse them.
The contract name must match the code name, in my case it is the following: contract FucksToken. This was on line 102 of your code
To check which version of the complier, go back to the remix page where you got the BYTECODE from and check the URL, the version of the complier will be there. In most cases it should be:
v0.4.19 + commit.c4cbbb05.js, but you want to try the updated ones if by any chance that doesn't work.
Under Optimization, choose No (we haven't enabled it before).
Under ENTER SOLIDITY AGREEMENT CODE BELOW, copy the entire Remix code and paste it into this area. NOT BYTECODE, but the code itself. It can also be copied from your text editor.
Now, leave the other fields blank and click Verify and Publish.
But be aware... This is the moment you've been waiting for... It's about to happen!
FINGERS CROSSED AGAIN BY VITALIK'S.

The moment of truth...

** Success!**

If a successful page comes with green checkmarks and stuff, you've done it!
If a red message appears... try again and see where you might have missed a step. I'm happy to help if you leave a comment below, but remember that Google is your best friend 😉
To confirm it works, go to https://ropsten.etherscan.io/ and check your MEW address, not the contract, but your public address. If you can see your coins there, now you can relax and live the crypto dream in peace! At least until the next BTC rally :)))))

To be able to send these tokens, you need to login to your MEW account Viewing Wallet Information → Accessing and entering your Private Key → Unlocking Wallet → Select the Load Tokens option. After that, they will be transferable.

How To Create Your Own Ethereum Token In An Hour (ERC20 + Verified)
How to do an ICO on Ethereum in less than 20 minutes.

References:

https://www.youtube.com/watch?v=o7xoy0gbHO8
https://gist.github.com/Filip3Dev/9d32f54f35719f3b748c36ba75a4833a

http://remix.ethereum.org/

https://ethereum.github.io/browser-solidity

https://faucet.metamask.io/

Top comments (0)