We have so far implemented our new token in the form of an ERC-20 contract. We could deploy this contract and it would function perfectly well. When the contract is deployed, its constructor is called, and the total token balance is initially assigned to the contract owner. What we want to do now is distribute the tokens, while at the same time raise money for our fictional project, and to do this we need to run an ICO, or token sale.
The simplest type of token sale allows participants to buy tokens over a fixed period of time, ending either at a predefined date, or once all of the tokens are sold. This is the simple implementation we'll undertake. There are, however, more complex forms of token sale, which we'll briefly summarize here.