gas费用测试优化:hardhat-gas-reporter

这篇具有很好参考价值的文章主要介绍了gas费用测试优化:hardhat-gas-reporter。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

gas费用测试gas费用测试优化


​ gas费是我们每一次与区块链交互的时候产生的一笔费用,每次我们读取数据,运算数据,修改数据的时候,都会产生一定数量的gas。

​ gas费是我们与区块链通信的过程中提交的费用,,我们通过一定的语法技巧能节约很多的gas,给用户操作节省gas费,一个优秀的项目应该避免大量gas的消耗。

hardhat-gas-reporter是hardhat的一个插件,专门用于查看每个单元测试所消耗的gas费用,

安装hardhat-gas-reporter

npm install hardhat-gas-reporter --save-dev

配置hardhat-confing.js文件

require("hardhat-gas-reporter");

配置项

module.exports = {
  gasReporter: {
  	enabled: true,
    currency: 'CNY',
  }
}

hardhat gas,hardhat基础和常用的插件,区块链,ethereum,javascript,前端,npm

  • enable表示使用report插件,修改为false则可以关闭
  • currency表示用人名币和gas费用进行换算,也可以设置为美元等

修改案例代码

  • 我们给合约增添一个方法,验证gas。
    hardhat gas,hardhat基础和常用的插件,区块链,ethereum,javascript,前端,npm

  • 同时在./test/sample-test.js中使用这个方法

const getGreet = await greeter.getGreeting();

hardhat gas,hardhat基础和常用的插件,区块链,ethereum,javascript,前端,npm

运行

​ 此插件覆盖内置test任务,所以运行测试文件的时候就会自动进行gas的计算,但是使用这个插件会增加运行时间。运行时请耐心等待

npx hardhat test

hardhat gas,hardhat基础和常用的插件,区块链,ethereum,javascript,前端,npm

​ 大家请注意Avg这里的数字,这就是消耗的gas,左边是对应的方法。比如:执行getGreeting消耗了24549

不同的gas费用举例

  • 我们现在继续修改源码,把greeting的可见性修改为public。private => public
    hardhat gas,hardhat基础和常用的插件,区块链,ethereum,javascript,前端,npm

运行查看结果npx hardhat test
hardhat gas,hardhat基础和常用的插件,区块链,ethereum,javascript,前端,npm

大家会发现getGreeting的gas费用升高了,这是因为读取区块链数据的时候,不同的可见性花费的gas费也不同 。

怎么样,哈哈,这个插件是不是挺好用的,对我们优化智能合约很有帮助,当然平时测试可以关闭这个插件,它很影响我们测试的速度。

还有一个小技巧:hardhat-gas-reporter还可以和当前最新的ETH和美元,人名币等货币进行换算。只需要注册coinmarketcap并输入你的私钥就可以,如果大家有需要的话可以评论,我帮大家整理出来具体的步骤和参数含义后再发文章链接。

对文章满意的话欢迎点赞收藏,哈哈,谢谢你文章来源地址https://www.toymoban.com/news/detail-792025.html

到了这里,关于gas费用测试优化:hardhat-gas-reporter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用hardhat验证智能合约(goeril测试网)

    使用openzeppelin写了个简单的Erc721合约,成功部署到goerli测试网,但是在验证的时候一直报错:

    2024年02月11日
    浏览(40)
  • DAPP开发【09】NFT交易市场开发(hardhat测试)

    测试文件下新建market.js文件 扁平化,将所有依赖放在tmp.sol,可以去给他人使用 npx hardhat flatten tmp.sol 测试文件

    2024年01月16日
    浏览(47)
  • 哇塞,炫云的智能优化太厉害啦!渲染费用竟然大幅降低了!

    你有没有遇到过因为设置参数错误而导致云渲染费用突然飙升的情况呢?或者不知道自己设置的参数是否过高?现在,这些问题都可以轻松解决了,因为炫云的渲染质量功能非常智能和人性化。根据不同用户需求,它将参数优化分为五个档位:高保真、小光子、保守优化、中

    2023年04月22日
    浏览(37)
  • 以太坊机制详解:Gas与Gas Prices深度解析

    读者可以前往我的博客获得更好的阅读体验。 在以太坊London升级后,以太坊启用了 EIP1559 进行 gas 计算。由于 EIP1559 引入的新的 gas 机制较为复杂,所以我写了此文介绍了以太坊的 gas 机制。 本文主要涉及以下内容: EIP1559 引入的新的 gas price 设置方式 交易花费的具体计算方式

    2024年02月04日
    浏览(34)
  • Hardhat常用命令介绍

    Hardhat 是一个用于构建以太坊(Ethereum)智能合约的开发工具套件。它提供了一套强大的命令行工具,帮助开发者在开发、测试和部署智能合约时提高效率。本文将为您提供 Hardhat 的所有命令使用指南,详细介绍每个命令的功能和用法,帮助您快速上手并在以太坊智能合约开发

    2024年02月03日
    浏览(27)
  • Hardhat 环境搭建及教程示例

    选择创建hardhat配置文件 Hardhat是围绕**task(任务)和plugins(插件)**的概念设计的。 **Hardhat **的大部分功能来自插件,作为开发人员,你可以自由选择你要使用的插件。 每次你从CLI运行Hardhat时,你都在运行任务。 例如 npx hardhat compile正在运行compile任务。 要查看项目中当前可用的

    2023年04月09日
    浏览(32)
  • 智能合约开发笔记-hardhat入门

    Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。 先安装nodejs环境; 然后打开命令行执行以下命令, 在项目目录pj_220509下安装hardhat环境: pj_220509目录下, 执行命令 npx hardhat  然后按提示安装相关的nodejs包,如下;完成安装; 装完后呀,可以在本地启动一个区块

    2023年04月11日
    浏览(40)
  • 简介智能合约开发框架-Hardhat

    ​ Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。 Hardhat内置了Hardhat网络,这是一个专为开发设计的本地以太坊网络。主要功能有Solidity调试,跟踪调用堆栈、 console.log() 和交易失败时的明确错误信息提示等。 node.js python 安装 安装中如果出现这样的报错 下载

    2024年02月16日
    浏览(46)
  • 【Solidity】Gas estimation failed-Gas estimation errored with the following message

    *【Solidity】Gas estimation failed-Gas estimation errored with the following message 这个问题一般会伴随以上这个图片出现,图片搬来的,因为我的已经解决 这个问题我在网上也看了很多提示和解决办法,有位博主是说自己代码出的问题,但是我感觉并不完全是,我这边用的是ganache的测试链

    2024年02月10日
    浏览(41)
  • 以太坊gas

    eip-1559提案更新了以太坊的奖励机制,新增了 maxFeePerGas 和 maxPriorityFeePerGas ;区块打包时,使用区块中小费(priorityFee)最少的区块作为基础费用(baseFeePerGas);小费用于支付给矿工,基础费则销毁。 maxFeePerGas : 每笔gas最大费用 maxPriorityFeePerGas : 给矿工的小费 ​ TransactionFee :(

    2024年01月22日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包