Private network testing occurs on a private network deployed to be used among one or more developers. In some cases, additional users or stakeholders can be invited to the private network. While testnet deployments are recommended where possible, private network deployments can be helpful in the following scenarios:
- Very high level of confidentiality (contract bytecode is protected)
- Stress testing required (e.g., modeling front-running, congestion and other mempool related security vectors)
- Contracts are being tested for an upcoming fork not yet available on testnet.
Below are some options to deploy a private network:
- Using a native client directly (e.g., geth)
- Dapptools dapp testnet will set up a geth testnet
- Tenderly private fork (https://blog.tenderly.co/prepare-your-smart-contracts-for-the-berlin-hardfork-with-tenderly/).