Javascript 如何从truffle控制台使用testrpc`evm_increaseTime`参数?

Javascript 如何从truffle控制台使用testrpc`evm_increaseTime`参数?,javascript,ethereum,solidity,truffle,Javascript,Ethereum,Solidity,Truffle,我正在用truffle和testrpc创建智能合约。在编写单元测试时,我希望更改块时间,以模拟可能调用智能合约的不同时间。如何在块菌控制台内设置evm\u增加时间?解决方案是在solidity中覆盖now关键字,将其设置为一个值,然后稍后在应用程序中使用该值(用于测试目的)。解决方案是在solidity中覆盖now关键字,将其设置为一个值,然后稍后在应用程序中使用该值(用于测试目的)。通过示例(取自) 我建议创建一个getTime()函数,在正常情况下返回now,并在测试时返回一个可设置的时间

我正在用truffle和testrpc创建智能合约。在编写单元测试时,我希望更改块时间,以模拟可能调用智能合约的不同时间。如何在块菌控制台内设置
evm\u增加时间?
解决方案是在solidity中覆盖
now
关键字,将其设置为一个值,然后稍后在应用程序中使用该值(用于测试目的)。

解决方案是在solidity中覆盖
now
关键字,将其设置为一个值,然后稍后在应用程序中使用该值(用于测试目的)。

通过示例(取自)

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


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

以示例(取自)展开OP的答案

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


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

设置以太坊JS testrpc的
evm_IncremaseTime
作为RPC调用实现。设置以太坊JS testrpc的
evm_IncremaseTime
作为RPC调用实现。有兴趣知道您是如何做到的。请给我一小段代码,我想知道你是怎么做到的。小代码段?
/// @notice This function is overriden by the test Mocks.
function getTime() internal returns (uint256) {
    return now;
}
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;
}