Blockchains have mainnets, the live blockchain, and testnets, which are used for development purposes. Even though testnets are just for development, they are still public and distributed. This means developing locally and needing to deploy your contract any time you want to change anything or during the development process would make development slow and cumbersome.
We need a way to mock up a blockchain environment locally without having to deploy to a testnet every time we make a change. So, we have blockchain development environments, which will provide tooling to make writing smart contracts easier and provide local mock chains for us to build on. They allow us to have a fully functioning chain running on our local machine! This is similar to running a local server in the web2 world.
Some options for development environments are:
Think about this question: Would you be willing to set up a testnet every time you needed to test your dapp?
When you’re ready, press Next to continue onto the next exercise.