From 7ea31b3f9f740440711f55fcd21fc2d0b0be174a Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Fri, 23 Sep 2022 12:11:46 -0230 Subject: [PATCH] Add documentation on how to fork ganache for local testing (#15944) --- docs/forking-mainnet-for-testing.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/forking-mainnet-for-testing.md diff --git a/docs/forking-mainnet-for-testing.md b/docs/forking-mainnet-for-testing.md new file mode 100644 index 000000000..b6db1e18f --- /dev/null +++ b/docs/forking-mainnet-for-testing.md @@ -0,0 +1,11 @@ +# Forking Mainnet With Ganache for Testing + +If you want to test out mainnet functionality without having to actually use mainnet, you can use Ganache's forking feature and then import ganache network and its generated accounts into MetaMask + +1. Get your local dev build running and have MetaMask open in your browser +2. Run `$(yarn bin)/ganache --fork https://mainnet.infura.io/v3/INFURA_PROJECT_ID` with `INFURA_PROJECT_ID` replaced by your own infura project id +3. Ganache will output a list of account addresses, private keys and an "Mnemonic" (aka SRP, aka Secret Recovery Phrase) +4. Import either the private keys or the SRP into MetaMask +5. Add the ganache network as a custom network in MetaMask. The "New RPC URL" will need to be http://127.0.0.1:8545, set the Chain Id as 1, and the currency symbol to ETH + +You should now be able to use MetaMask, and many dapps, as if you were using mainnet. Your accounts should have 1000 ETH which you can use on this simulated local fork. Note that after significant time ellapses since when you forked mainnet (i.e. ran step 2 above), interactions with many dapps and smart contracts may begin to have inconsistent behaviour or failures. \ No newline at end of file