在RSK Regtest上开发时如何提高块号



我有一个使用块号的智能合约,我需要增加块号,而不需要真正等待时间过去

在Regtest中运行RSK节点时,这可能吗?如何使用Javascript实现这一点?

在Regtest中,确实有可能:使用evm_mineJSON-RPC方法来挖掘块。

const asyncMine = async () => {
return new Promise((resolve, reject) => {
web3.currentProvider.send({
jsonrpc: "2.0",
method: "evm_mine",
id: new Date().getTime()
}, (error, result) => {
if (error) {
return reject(error);
}
return resolve(result);
});
});
};

请注意,这与以太坊开发工具中使用的方法一致,例如Ganache。或者,使用evm_increaseTime来增加块的时间:

function increaseTimestamp(web3, increase) {
return new Promise((resolve, reject) => {
web3.currentProvider.send({
method: "evm_increaseTime",
params: [increase],
jsonrpc: "2.0",
id: new Date().getTime()
}, (error, result) => {
if (error) {
return reject(error);
}
return asyncMine().then( ()=> resolve(result));
});
}); 
}

相关内容

  • 没有找到相关文章

最新更新