Once you have the system specification written, the first thing is to find the right tools and libraries that should be used to build the project from scratch. It is always recommended that you look for existing libraries that are battle tested and easy to maintain in the project. The OpenZeppelin Solidity contract libraries provide many battle-tested contracts and libraries that are readily available to use in your project.
Our project requires ERC20 and crowdsale-related libraries, which are readily available in the OpenZeppelin library package. We have learned about these ERC20 and crowdsale-specific libraries in Chapter 9, Deep Dive into the OpenZeppelin Library.
There are many ERC20 and crowdsale-related libraries in the OpenZeppelin library package. Now, let's walk through how we can choose and use these libraries from the OpenZeppelin...