gpt4 book ai didi

javascript - 如何使用 truffle 控制台中的 testrpc `evm_increaseTime` 参数?

转载 作者:行者123 更新时间:2023-11-28 04:46:20 25 4
gpt4 key购买 nike

我正在使用 truffle 和 testrpc 创建智能合约。在编写单元测试时,我希望更改 block 时间以模拟可能调用智能合约的不同时间。如何在 truffle 控制台内设置 evm_increaseTime

最佳答案

用一个例子扩展OP的答案(取自Status)

我建议创建一个 getTime() 函数,在正常情况下返回 now,并在测试时返回可设置的时间。

SNTPlaceHolder.sol

/// @notice This function is overriden by the test Mocks.
function getTime() internal returns (uint256) {
return now;
}

SNTPlaceHolderMock.sol

uint256 mock_time;

function SNTPlaceHolderMock(...)
SNTPlaceHolder(...) {
mock_time = now;
}

function getTime() internal returns (uint256) {
return mock_time;
}

function setMockedTime(uint256 _t) public {
mock_time = _t;
}

我们现在可以使用 await sntPlaceHolderMock.setMockedTime(t); 设置模拟时间

关于javascript - 如何使用 truffle 控制台中的 testrpc `evm_increaseTime` 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43341622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com