How to hold ICO using Ethereum in less than 20 minutes
Congratulations, you have found what you need! That’s exactly what you was looking all over the Internet. In this tutorial we will tell you how to make ICO in the core network Ethereum. We hope you will use what they learned today to create a truly meaningful things, and not just another CryptoAPI.
We give a step-by-step guide to creating the ICO contract in Ethereum using a single smart contract and MyEtherWallet. The resulting tokens will be standard ERC20, and you can set the settings you need, such as a course for ETH and time bonuses.
Warning — read this first!
1. Great opportunities carry great responsibility. I am not responsible for your carelessness when handling your ETH, or for the use of acquired knowledge to evil purposes (in the name Vitalik don’t do this!). I hope you will use this technology solely in order to do good.
2. This contract has not been tested. This means that before you experimental code, it did not pass code review and may contain errors. If you are going to implement this ICO, you will have to audit the code and to develop a proper contract, tied to your specifics.
3. I take no responsibility for you, your dog, your money or your life. You are a big boy (or girl) and capable themselves responsible for their actions.
Before we start
You will need several things to create your own token:
- Address Ethereum (the test network Ropsten)
- A little ETH (on a test network Ropsten)
- A text editor (e.g. Sublime or Atom)
- Contract in the language of Solidity
- Fingers crossed during the whole process
For token issuance, we will use the test network Ropsten — so that you don’t have to spend real ETH. To start with, go to MyEtherWallet and create an account there.
Then click in the top right corner and change the network to Ropsten (MyEtherWallet). Click on New Wallet, create a password and click Download / Save your Keystore file in a safe space. Save your private key in a safe place.
To see the address of your wallet, go to Wallet View Info -> the Private Key, enter there your saved private key and click Unlock your wallet.
Download one of the following editors:
- Sublime Text
Here (link) you can download smart contract prepared by the legendary BokkyPooBah for us. You will edit this code to create your own ICO contract.
We have created a special crane, with which you can get Ropsten ETH! Just follow the link and enter your address in the test network Ropsten — and our smart contract you will receive a little token! Please do not abuse this tool, use it once.
Now let’s get started!
Open the downloaded contract in your text editor.
Go to the rows 3-15 and note the comments — they will help you in creating your token. Template ICO has the name ‘bitfwd’ token CROWDSALE contract.
Enter the name of your crowdsee in line 4. In line 7, type a brief letter of your token, and in line 8, is its name. After placing a contract on the blockchain you will need to change only the line 6.
- 1. Go to line 102 and change the “bitfwd” to “[Nathanaelagreene]”.
Do not use spaces — otherwise nothing will work.
- 2. Repeat the above line 118.
- 3. Go to line 119 and change a brief outline of the token in the same way as you did in the comments section.
- 4. Enter the name of your token in the string 120.
- 5. The value of the Decimals leave as is — 18.
- 6. In line 122 you need to set the first parameter of your ICO date of expiry of the bonus. In line 123, the end of your crowdsee.
So, we have almost completed the edit code of the contract.
- 7. Now go to line 212. Specify in the comments how many tokens will you give in exchange for ETH.
- 8. In the line 218 to specify how many tokens people will get during the bonus.
- 9. In the line 220 enter the amount of tokens people will get after the time of the action: (this value must be specified at line 212).
“msg.value” is the number of ETH that are sent by any participant of krautsalat. So, in our example, for every 1 ETH we’re giving away 1000 FWD.
Boom! The contract is ready. It was easy, right? Now on to the fun part!
- Open http://remix.ethereum.org/
- Browser in the box/ballot.sol paste the edited code you contract. If you see red warnings — so, in your code the error crept in. Warnings orange you can not pay attention.
- Go to the menu Compile — select the token that you create is just Details.
- Press ” 📋 ” to copy the ByteCode to the clipboard.
- Now paste the code into the code editor. Don’t worry — there will be a lot of text. The only thing we need is a BYTECODE (large character set). It will look like this: “object”: “BYTECODE”, .
- Add 0x to the beginning of the BYTECODE, for example: “object”: “0xBYTECODE”,. Then copy the resulting to a new file.
Now you need to open MyEtherWallet, where we will be posting the contract. Don’t forget we will be doing this on a test network Ropsten — so make sure in the upper right corner is exactly what it is.
- Go to the Contracts tab, click Deploy Contract.
- Insert the ByteCode into the appropriate field. The value of Gas Limit to be automatically updated.
- Open wallet: choose the Private Key, paste your private key, click on Unlock Your Wallet.
- Now click Sign Transaction > Deploy Contract.
- Note: at this point you need a few seconds to cross my fingers.
- Click on Transaction TX or go to https://ropsten.etherscan.io to make sure that the contract went to the net. If not, try again and try to find the error. If it worked — congratulations!
If you’ve done everything right, you will see the following:
Now we need to register this contact. To do this:
- click on the Contract Address (tab Overview),
- go to the tab Contract Code and click on Verify And Publish.
Almost ready… the Next steps are very important, so be extremely careful. Here we check that code against what you’re going to post, and register it on the network. FOREVER.
So if you make a mistake, it will stay in your code forever. As once said a good friend of mine, the blockchain you’re “doing it right the first time, or wrong forever.”
So, on this page you will need to do five things.
- 1. Verify that the contract address in the appropriate field corresponds to the address you just posted. Do not forget that the contract address different from MEW, try not to confuse.
- 2. The contact name should be correctly specified in the code, in my case it is “bitfwdToken”. The value is on line 102 of your code.
- 3. To check the version of the compiler, go back to the page Remix, where you got BYTECODE, and pay attention to the address bar version of the compiler will be specified in the URL. Usually it is this:
- 4. Select
- on the contrary
- 5. In THE ENTER THE SOLIDITY CONTRACT CODE BELOW paste the code entirely copied from Remix. Not only BYTECODE, but all of the code in its entirety. You can also copy it from your text editor.
And don’t forget to add in line 6 of the generated address you contract!
All other fields can be left empty. Now click on Verify and Publish.
This is the moment you’ve been waiting all my life… Now everything will happen! Again fingers crossed in the name Vitalik!
The moment of truth…
If you see this page with green labels and ticks, then you did it! I’m proud of you, now you really are chirapant, part of the cryptocurrency movement. Woo-hoo!
If you will see any red message, try to perform the above steps again, step by step.
So, how does it work?
It’s pretty simple: you send a test Ropsten ETH on a newly deployed contract address and he will send you your new tokens according to a desired exchange rate. Each sending ETH Ropsten to the address of the contract will also receive your tokens. Voila.
All received Ropsten ETH will be posted to the address of the owner of the contract — that is in your wallet.
Remember that this contract was not checked, so if you want to run it in the main network, you should definitely hire someone who is well versed in the subject and can prove it to you. As you’ll recall, was hacked theDAO? That was not cool.
If you’ve read up to this point, it means that you got an incredible Blockchain superpowers. Be proud of it and use it only for good: to inspire people to create cool new projects, but not for another fraudulent ICO.
Even though I believe in you, but still take no responsibility for your actions — both good and bad.
Ask questions and share your cool projects in the comments!