To create a new token or any ICO contract, the first thing is to list down all the features of the contract that you require. For example, the features of an ICO contract can be pre-minted, mintable on-demand, burnable, capped crowdsale, and time-based crowdsale. All these features have been discussed in Chapter 9, Deep Dive into the OpenZeppelin Library. You can refer to that chapter for more details on these contracts.
Ideally, when you create a new contract or token, you have the specification documentation of the features and conditions to implement in the code. However, as we are going to learn how to create our own token, we need to jot down our own specifications. Now, let's build the specification of our token that we will create in this chapter:
- Token contract specification:
- We want to build a token that should be fungible up to 18 decimal...