My team recently starting learning Ethereum and smart contracts. Wanted to ask what are the best practices for testing. I have read about creating private networks:

  1. Can we have our own private network where the team can test on?
  2. Can this private network be online and accessible to the team only? Azure has a service to setup a blockchain that support Ethereum.

Other options I saw were:

  • Have each team member test locally on his system or
  • Use Live Test Network like Ropsten

Any helpful links are also appreciated.

3 Answers 3


Your options are:

  1. Local network. You can use applications like Ganache to have local blockchain and test your smart contracts there. It gives your contracts and fake ethereum to interact with the application.

  2. Testnet: As you mentioned, you can deploy your contracts to testnet such as Rinkeby or Kovan and test there.

  3. Mainnet-fork: You can get an instance of mainnet by forking it. This means that it will simulate having the same state as mainnet, but it will work as a local development network.

I would recommend you and others to start with video of Patrick.


My team recently starting learning Ethereum and smart contracts. Wanted to ask what are the best practices for testing.

Use unit testing with 100% coverage. Have a continuous integration system that automatically runs tests. For integration testing you can run a local Ganache or Ethereum Tester node that are specialised for testing purposes.

Manual testing can be done on a low cost EVM production environment like Polygon mainnet.


In my project I ended up with private network hosted on the VM or docker containers.

After 'The Merge' happened last autumn, on the test network like goerly time since submit a tx and to get it mined rised up from a few minutes to up to 10-15 hours. Continue development in such environment become quite painful.

Here is an official information how to deploy a private network. Please note, this doc's sample uses clique algorithm which has known severe bugs which might be a show stopper to continue use it even for prototyping mode.

Here is my project where I created and deployed a private network - both on VM and docker. It is under development, PRs with proposals are welcomed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.