How To Launch An ICO Project - Technical Details On The Process
You will find many guides on how to prepare an Initial Coin Offering scattered all over the internet. However, most of the time, the primary focus in ICOs go to marketing, PR and fundraising aspects, leaving IT details to the tech people.
We are those tech people. The 4soft team is in the process of establishing strong foundations for fintech cryptocurrency projects, and we would love to share our experience.
This is the first article from a series created to share our expertise on ICO software development with CTOs and CEOs that need data-driven insights. If you want to keep a finger on the pulse and be the first to get actionable ICO tips, sign up for our newsletter:
Okay, let’s cut to the chase.
What ICO means for you as a tech expert?
If you are the person responsible for the technical aspect of the Initial Coin Offering in your company, we have both good and bad news for you.
The good news is: many parts of the process do not need a particular expertise, and you can take care of them by yourself.
The bad news is: the process is very fragile, and we have seen some tech gurus trying to rise up to the challenge and fail simply because of the complexity.
And what goes in blockchain, stays in blockchain. It can be either your brilliant state of the art solution or a statue of failure written in the irreversible crypto font.
That’s just the beginning. The next challenge during your ICO will be ensuring legal compliance, such as preparing for the Know Your Customer regulations. Of course, there are multiple ways to answer to that, but you simply need to know that not every creative crypto idea you may already have at this point can get past the legislative traps.
So, before you get to coding, lawyer up and make sure you’re safe and well-advised on the legal part of your project. Then proceed with care and attention to the technical details.
4soft ICO process
We know that there are many ways to achieve your ICO plan, but I highly doubt that you came all the way here to listen to ALL the potential possibilities.
Let’s talk about an approach that really works and could work for your company. At 4soft, we’ve developed our own elastic process to support small and medium-sized businesses in ICO projects.
For now, let’s focus on the shortest, easiest and the most accessible proven way to create your own coin.
Based on our experience, it starts with a custom Smart Contract sewed into the Ethereum blockchain - the core of your new cryptocurrency.
1. Creating a Smart Contract: How to create a Smart Contract on Ethereum?
A preferable language to start your project will be Solidity, as the primary and the most popular language used on the Ethereum Virtual Machine. The language itself is rather easy, and creating a basic Smart Contract in the most popular ERC-20 standard takes roughly two man-days of a capable developer.
What is ERC-20? It is the widely accepted technical standard for Ethereum. Most of the tokens released through Ethereum ICOs are compliant with the ERC-20 standard.
It contains six basic functions:
Not getting into too much detail here, it’s all you need for your new cryptocurrency.
If you decide to create the Smart Contract yourself, you need to triple check and heavily test it before deployment. There’s a number of companies that can audit your code for compliance and safety. Once you deploy it - it stays there for good.
Of course, you can go way beyond the standard, and the most popular features are mint and burn functions to increase or decrease the total number of tokens. The first of them is useful in the next step - fundraising and Initial Coin Offering.
2. The Initial Coin Offering itself - technical aspects of fundraising
Two paths to raise funds and create tokens
Once you have your Smart Contract, there are basically two approaches you can take in the offering itself:
- deployment after you collect the money - you gather the money, and after fundraising create all the tokens and allocate them to investors
- instant deployment and real-time token mint - the tokens are created at the very moment your investors buy them
Discussing the minimalistic ICO version, we would recommend the first approach here. It simplifies the crowdsale process, giving you more control and ability to focus on the crucial thing: a smooth fundraising process.
Based on our experience, the most effective way in giving you the control you need is a custom ICO application for your investors - a dashboard that allows them to invest in your project. It should include a simple login process at least, open email based registration and password recovery features. Through the account, they will be able to manage their preferences, manage their wallet and send payments.
It also gives you complex information on who invested in your ICO, helps you with the KYC process and lets you know how much you should transfer and to which accounts.
This brings us to the next question:
How to collect money?
The answer depends on which currencies you plan to accept during your ICO, and whether you wish to exchange your tokens for other cryptocurrencies or fiat money.
The easiest way for you to collect money is to ask people to transfer their funds to your account… but this does not sound very good for the investor, does it? From the customer’s point of view, a solution similar to PayPal would actually work better, as it works faster and feels more secure.
On the margin: asking them for money, you really want them to feel secure.
The process of managing fiat money on the Internet is quite a big issue and, in working within the financial sector, we know it well enough. That’s why - unless you have a strong fintech foundation and background - the best option for your company would be choosing an external vendor to collect that money for you (such as PayPal, coinpayments or others).
Ok, we know all we need to know about our investors and their accounts, and we have the money. Now what?
3. Smart Contract Deployment
The deployment is another momentous occasion. It gives you the opportunity to test your Smart Contract in real life - testnet.
We can share a comprehensive guide with you on how to do it, but the core is simple: it’s a series of commands typed in the command line, and we can assist you in this process.
There’s also another way. We’ve developed an application which allows you to automatically transfer your tokens with MetaMask - it is a Chrome extension that allows you to run Ethereum dApps in your browser without running a full Ethereum node.
And deployment takes us to the final step:
4. Allocating your tokens to investors
Now, there are basically three reasonable ways we use to assign tokens to investors:
Use a custom application to approve each transaction manually using MetaMask
To allocate the tokens, you need to use your private key. And here comes the big issue: you should avoid storing your private key within your application.
Once again, we can bypass this with the MetaMask Chrome extension. We prefer to do it manually, as it simply gives you full control over the process without storing your key in the app.
Even though it’s safe, it’s also a bit time-consuming. The whole process usually takes two working days to accomplish and is unusually boring.
Use a custom application to allocate your tokens automatically
You can also do the whole process automatically - integrating a worker with your account. We’ve solved that by establishing a tool which requires your private key and a file with a list of wallets and number of tokens. The system goes through all the transactions and gives you a summary report.
It takes roughly 1 hour to complete the whole allocation for a standard ICO.
Embed the data in Smart Contract
The simplest solution is to embed all the data in the Smart Contract. However, you have to include all the data upfront, making your list of accounts accessible to everyone.
It is also sensitive to mistakes - one typo can have grievous consequences for your project.
But at the end of the day, it is safety that matters. We strongly recommend manual allocation with MetaMask as the most secure option.
And the final question: How much does an ICO cost?
We are working on a calculator to help you estimate the budget for your ICO project based on the 4soft ICO process. Sign up for our newsletter - you will be first to know when we release it.
... or let’s simply talk about your project
The 4soft team has a lot of experience in web and blockchain development. We would love to contribute to your ICO.
- 4 Most Popular 4soft Articles on ICO & Blockchain Development - L4A Blog
- Smart Contract Audit - Critical Bug with Code Example - 4soft Blog
- Ethereum ERC-20 Standard Token Breakdown
- Working on an ICO with a Software House - 6 Insights on Blockchain Development Outsourcing