Overview
There are multiple ways to develop smart contracts on Ethereum. A usual and sensible approach is to develop and test Ethereum smart contracts either in a local private net or a simulated environment like Ganache. Then it can be deployed on a public testnet. After all the relevant tests are successful on a public testnet, the contracts can then be deployed to the public mainnet. There are, however, variations in this process. Many developers opt to only develop and test contracts on a local simulated environment and then deploy on to the public mainnet or their private/enterprise production blockchain networks. Developing first on a simulated environment and then deploying directly to a public network can lead to faster time to production, as setting up private networks may take longer compared to setting a local development environment with a blockchain simulator. We will explore all these approaches in Chapter 14, Development Tools and Frameworks and Chapter 15, Introducing...