IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 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',
  }
}

在这里插入图片描述

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

修改案例代码

  • 我们给合约增添一个方法,验证gas。
    在这里插入图片描述

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

const getGreet = await greeter.getGreeting();

在这里插入图片描述

运行

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

npx hardhat test

在这里插入图片描述

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

不同的gas费用举例

  • 我们现在继续修改源码,把greeting的可见性修改为public。private => public
    在这里插入图片描述

运行查看结果npx hardhat test
在这里插入图片描述

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

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

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

对文章满意的话欢迎点赞收藏,哈哈,谢谢你

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:33:53  更:2022-09-21 00:34:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:18:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码