I have been working in a project where we need to transfer ETH between users.

After some investigation and playing with web3.js/ethers.js locally, I was able to run Ganache locally, create wallets and transfer ETH between some accounts.

So now I am wondering (and actually lost) on how I to test/setup things for my TEST, Staging and PROD environments. Test environment is where DEVs, QAs and BAs will test the application before goes to PROD. Staging is pre-PROD environment we will test before going live. Prod is live with real $$$.

Is it correct to use the Ethereum testnet (Goerli or Sepolia) for our TEST environment or should we use TRUFFLE/Ganache?

Should we use the testnet for staging only or should we use the testnet for all other environments other than local dev?

The BA's want to test the application and check the transaction's details like Etherscan info. Will TRUFFLE/Ganache have this?

My understanding is that the testnet simulates the real Ethereum blockchain so we can deploy things there before playing with the real thing. However I am not sure if we should use the testnet for TEST environment.

How do you guys have this in your environments?


1 Answer 1


To test your contracts, it is recommended to deploy them to a local test network such as Ganache. This is faster and allows you to use powerful cheatcodes.

If you want to share the status of your contracts with multiple parties, you must either use a public test network or set up your own test network instance. An alternative to setting up your own test network is to fork a public network and test with tenderly. Keep in mind that your own network may not have all the tools available as a public test network.

Your Answer

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

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