从特定区块分叉出实际的主网

Fork the actual mainnet from a specific block

我想测试以太坊上许多智能合约之间的一些重叠,但是:

所以,为了尽可能接近实际的主网,有没有办法复制整个区块链的当前状态,包括所有的交易,并在特定的区块上分叉以测试一些功能?

official documentation解释了如何创建私有网络,但是我们如何创建基于特定主网区块的私有网络?

谢谢

您可以 运行 Ganache 使用 --fork 选项。

Fork from another currently running Ethereum client at a given block. Input should be the HTTP location and port of the other client, e.g. http://localhost:8545. You can optionally specify the block to fork from using an @ sign: http://localhost:8545@1599200.

因此实际命令可能如下所示:

ganache-cli --fork https://mainnet.infura.io/v3/<your_infura_id>