【问题标题】:How to advance block number when developing on RSK Regtest? [closed]在 RSK Regtest 上开发时如何提高块数? [关闭]
【发布时间】:2021-01-12 08:54:36
【问题描述】:

我有一个使用区块号的智能合约, 并且我需要增加块号而不实际等待时间过去。

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

【问题讨论】:

标签: javascript rsk


【解决方案1】:

在 Regtest 中,是的,确实有可能: 使用evm_mine JSON-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);
            });
    });
};

请注意,这与以太坊开发人员工具中使用的方法一致,例如伽纳彻。 或者,使用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));
          });
    }); 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2015-10-18
    • 1970-01-01
    相关资源
    最近更新 更多