如何在Remix IDE中查询智能合约部署各步骤的执行时间
在线版Remix IDE部署智能合约步骤耗时统计方法
以下是可直接落地的毫秒级耗时统计方案:
方法1:浏览器开发者工具性能录制
- 打开在线版Remix IDE,完成合约编译、目标链连接等部署前置准备,停留在部署操作前的最后一步
- 按下
F12打开浏览器开发者工具,切换到「性能(Performance)」面板 - 点击录制按钮后立刻在Remix中触发部署操作,完成所有你需要统计的部署流程(含交易确认、链上落账等环节)后立刻停止录制
- 在生成的性能火焰图中筛选Remix相关执行栈,或在「网络(Network)」面板筛选部署对应的RPC请求,即可读取每个环节的精确毫秒级耗时,按需累加即可得到各步骤总耗时
方法2:控制台自定义计时统计
- 打开Remix IDE底部的「控制台(Console)」面板,在部署前为你需要统计的每个步骤创建计时标记,示例代码:
// 总流程计时 console.time('总部署耗时') // 各子步骤计时 console.time('合约参数校验耗时') console.time('交易签名生成耗时') console.time('链上交易确认耗时')
- 每完成一个部署子步骤,就在控制台执行对应计时结束命令,会直接返回该步骤的毫秒级耗时:
console.timeEnd('合约参数校验耗时') console.timeEnd('交易签名生成耗时') console.timeEnd('链上交易确认耗时') console.timeEnd('总部署耗时')
方法3:Remix脚本自动化统计
如果需要重复统计、减少手动操作误差,可以编写Remix执行脚本实现自动统计,示例代码片段:
async function statDeployCost() { const totalStart = performance.now() // 步骤1:获取编译完成的合约对象 const step1Start = performance.now() const targetContract = await remix.call('solidity', 'getCompiledContract', '你的合约文件名.sol') console.log(`合约实例读取耗时:${(performance.now() - step1Start).toFixed(2)}ms`) // 步骤2:发送部署交易并等待确认 const step2Start = performance.now() const deployResult = await targetContract.deploy({ arguments: [/* 你的构造函数入参 */] }).send({ from: /* 部署地址 */, gas: /* gas 限制 */ }) console.log(`部署交易执行+链上确认耗时:${(performance.now() - step2Start).toFixed(2)}ms`) console.log(`全流程总耗时:${(performance.now() - totalStart).toFixed(2)}ms`) } statDeployCost()
- 将上述代码调整参数后放入Remix的「脚本(Scripts)」面板直接执行,即可自动输出各步骤统计结果
注意:如果部署到公链环境,链上确认耗时会受Gas设置、链拥堵情况影响,建议多次测试取平均值得到更可靠的统计结果。
内容的提问来源于stack exchange,提问作者SAPTARSI SAHA
相关产品推荐
相关产品推荐

