I'd like to use Parity to spin up a local, private development chain that forks from mainnet (or other public testnet) at a given block.
The private chain would virtually make the entire state of the mainnet (at the chosen block) available on demand - so when my local contracts need to access something from the mainnet state, Parity would interactively query the remote Ethereum node.
This behavior is implemeted by Testrpc/Ganache's --fork parameter and is really handy when testing my contracts that need to talk to other mainnet contracts/libraries, without actually deploying them on the public network.
Describe the solution you'd like
I would like a command line argument:
./parity --fork=http://remote-node:8545@4242424
This would fork the remote chain (e.g. the Ethereum mainnet) at block 4242424 into a local dev chain. The Parity client would use the provided RPC endpoint to query state (when needed) from the remote node to accomplish the above.
Describe alternatives you've considered
@joshua-mir suggested to consider exporting state from a mainnet node running --fat-db and import it into my local dev chain specification as part of the genesis - but this seems quite intensive, considering that my contracts will only ever need access to a really tiny fraction of the entire mainnet state.
I'd like to use Parity to spin up a local, private development chain that forks from mainnet (or other public testnet) at a given block.
The private chain would virtually make the entire state of the mainnet (at the chosen block) available on demand - so when my local contracts need to access something from the mainnet state, Parity would interactively query the remote Ethereum node.
This behavior is implemeted by Testrpc/Ganache's
--fork
parameter and is really handy when testing my contracts that need to talk to other mainnet contracts/libraries, without actually deploying them on the public network.Describe the solution you'd like
I would like a command line argument:
This would fork the remote chain (e.g. the Ethereum mainnet) at block
4242424
into a local dev chain. The Parity client would use the provided RPC endpoint to query state (when needed) from the remote node to accomplish the above.Describe alternatives you've considered
@joshua-mir suggested to consider exporting state from a mainnet node running
--fat-db
and import it into my local dev chain specification as part of the genesis - but this seems quite intensive, considering that my contracts will only ever need access to a really tiny fraction of the entire mainnet state.