如何在智能合约单元测试中模拟区块铸造



我正在编写一个用于质押的智能合约。每铸造一块新的硬币,收入就会增加。为了测试收益的计算,我需要在我的测试套件中模拟一定数量的块。web3.js中有函数可以做到这一点吗?

Web3js是"只是";RPC方法的包装器调用节点,因此确切的方法取决于节点模拟器。

然而,大多数模拟器都实现了evm_mineRPC方法,允许您在模拟器网络中挖掘空块。

web3.currentProvider.send({
jsonrpc: "2.0",
method: "evm_mine",
id: 1
}, (error, response) => {
console.log(response);
});

文件:

  • Ganache:https://docs.nethereum.com/en/latest/ethereum-and-clients/ganache-cli/
  • 安全帽:https://hardhat.org/hardhat-network/docs/overview#mining-模式

最新更新