npm包build-gas-reporter使用教程

前言

对于前端开发人员来说,构建智能合约是一个非常具有挑战的任务。Smart Contract允许我们在以太坊(Ethereum)等区块链上创建应用程序。对于构建应用的开发者来说,编写和测试Solidity代码是具有挑战性的任务。

在Solidity代码编辑器中进行手动测试是非常耗时且繁琐的,因此,我们需要工具来自动完成这项任务。使用buidler-gas-reporter(npm包)是一种可以节省时间和精力的方法。此npm包允许您在检查Solidity智能合约的性能时,自动进行gas使用的报告。

在本文中,我们将介绍buidler-gas-reporter作为npm包的使用方法。

bGAS-Reporter配置

在npm包安装成功后,我们可以将buidler-gas-reporter添加到buidler配置文件中。在buidler.config.js文件中,添加bGAS-reporter插件的resolve以及插入插件的同时。代码如下所示:

--------------------------------------
---------------------------------

-------------- - -
  ---
  ------------ -
    -------- ---------------------- - ---- - ------
    --------- ------
    --------- --
  -
  ---
-

使用bGAS-Reporter

需要注意的是,您首先需要运行测试来收集性能数据。使用下面的命令在CLI中启动测试。

--- ------- ---- ----------------- ---------

如果您已经运行过测试并收集了性能数据,则可以使用以下命令启动报告。

--- ------- ---- ----------------- --------- ------------- ------------------

注意,如果您没有启用gasReporter plugin的resolve,则不要使用--gasReporter命令。

示例

假设我们有以下简单的Solidity合约。代码如下所示:

------ -------- -------

-------- -------------- -
    -------- -------- --- ---- --- ------ ---- ------- ------ -
        ------ -- - ---
    -
-

运行测试时,我们可以选择在CLI中使用调用add函数的2个不同值。添加以下代码到测试文件simple-contract.test.js.

----- -------------- - ---------------------------------------

---------------
  ---------------------------------
  ---------

-------------------------- ----------- ------ -- -
  --- --------------

  ------------ -- -- -
    -------------- - ----- -------------------------
  --

  ---------------------- -- -- -
    ---------- ------ --- ---------- ----- -- -- -
      ----- ------- - ----- ----------------------
      ------------------------ -----
      ------------------------ ---
      ------------------------ -----
      ------------------------ ----------
    --
  --

  --------------- -- -- -
    ---------- --- --- --------- ----- -- -- -
      ----- ------ - ----- --------------------- --
      -------------------- --
    --

    ---------- ----- -- ------- ----- -- -- -
      ----- -------------------------- ---------------------
    --
  --
--

使用以下命令在CLI中启动测试:

--- ------- ---- ----------------- ---------

在CLI中使用以下命令来生成性能分析。

--- ------- ---- ----------------- --------- ------------- ------------------

您将在CLI中得到以下输出:

--------- --------------
  ----------
    - ------ ------ --- -------- --------
  ---
    - ------ --- --- ------- --------
    - ------ ----- -- ----- --------

  - ------- -----
  - ---- ------ ---- -- -- -------
  --- ------
  ----------
  --------------
    -----------  ---------            --- -------
    ----          ---------            --- -------

这意味着您的智能合约SimpleContractadd函数中使用了0.01 gWei的gas费用,该费用等效于10美分。如果您有一个大型的Solidity合约,并且需要检查运行函数的性能,则buidler-gas-reporter是一个非常好的工具。

结论

希望这份教程对您有所帮助。buidler-gas-reporter是一个非常有用的npm包,它能够自动完成Solidity合约的性能报告。其使用非常简单,可以非常方便地与您的buidler配置文件集成在一起。此外,bGAS-Reporter插件提供的性能数据对于改善合约的性能来说是非常有意义的。如果您在构建Solidity Smart Contract时遇到过困难,则建议您试试此npm包。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaeaab5cbfe1ea0610ea3


猜你喜欢

  • npm包@graphql-toolkit/graphql-tag-pluck使用教程

    GraphQL是一种查询语言,它使客户端能够精确地指定它所需的数据,而不会收到超出需要的或没有足够信息的响应。GraphQL工具包是一个开源JavaScript库,它提供了用于构建和操作GraphQL...

    4 年前
  • npm 包 @graphql-toolkit/code-file-loader 使用教程

    GraphQL 是 Facebook 开源的一种 API 查询语言和运行时,是前端开发中广泛应用的技术之一。GraphQL-ToolKit 是针对 GraphQL 的高级工具集,其中的 code-f...

    4 年前
  • npm 包 @graphql-toolkit/core 使用教程

    简介 GraphQL 工具包是一个用于创建和操作 GraphQL API 的集合。@graphql-toolkit/core 是其中一个使用最广泛的 npm 包,它提供了一套丰富的工具和 API,可以...

    4 年前
  • npm 包 @graphql-toolkit/file-loading 使用教程

    GraphQL 在前端开发中越来越受欢迎,而 @graphql-toolkit/file-loading 是一款非常有用的 npm 包,它提供了一种方便的方式来加载和解析 GraphQL 文件。

    4 年前
  • npm 包 @graphql-toolkit/graphql-file-loader 使用教程

    GraphQL 是一种用于 API 的查询语言,同时也是一个满足你数据查询的运行时。GraphQL 对你的 API 中所提供的数据设定了一套统一的、易用的、强大的、可操作的 API,同时对你的应用程序...

    4 年前
  • npm 包 @graphql-toolkit/json-file-loader 使用教程

    简介 在编写 GraphQL 应用程序时,通常需要使用外部数据源来输入或输出数据,常见的数据源包括数据库、API 甚至是本地文件。对于本地文件,前端开发人员通常使用 JSON 格式存储数据,并通过 A...

    4 年前
  • npm包 @graphql-toolkit/url-loader 使用教程

    什么是 @graphql-toolkit/url-loader? @graphql-toolkit/url-loader 是一个 NPM 包,它允许您在运行时从 URL 中加载 GraphQL 页面和...

    4 年前
  • npm 包 eledoc 使用教程

    什么是 eledoc? eledoc 是一个基于 TypeScript 构建的文档生成器,它能够将输入的 TypeScript 代码转换为文档形式,以供开发者参考和使用。

    4 年前
  • npm 包 @balena/es-version 使用教程

    在前端开发中,管理项目依赖是一个不可避免的任务。npm 是现代前端项目最常用的包管理工具之一。在 npm 上,有一个名为 @balena/es-version 的包。本文将介绍如何使用它。

    4 年前
  • npm 包 @balena/lint 使用教程

    简介 在进行前端开发时,代码的正确性、可读性和可维护性都是非常重要的。为了让我们的代码更加规范化,我们可以使用一些工具来帮助我们进行代码的静态检查。其中,@balena/lint 就是一个非常优秀的 ...

    4 年前
  • npm 包 @balena/odata-parser 使用教程

    前言 在前端开发中,OData (Open Data Protocol) 是常用的API 调用协议之一。OData 提供了一套 RESTful API 设计模式,支持进一步的过滤、排序、分组、格式化和...

    4 年前
  • npm 包 @balena/sbvr-types 使用教程

    介绍 在前端开发中,我们经常需要使用不同的包来满足需求。其中,@balena/sbvr-types 是一个非常好的选择,它提供了一种数据类型的建模方式,可以让我们更加方便地对数据进行操作。

    4 年前
  • npm 包 @balena/sbvr-parser 使用教程

    在前端开发中,我们经常需要处理文本数据,并需要对其中的内容进行解析和处理。而 @balena/sbvr-parser 就是一个专门用于解析业务场景语言(SBVR)的 npm 包,它可以让我们轻松地将 ...

    4 年前
  • npm 包 @balena/lf-to-abstract-sql 使用教程

    如果你是一名前端开发人员,那么你一定会使用到各种各样的工具来辅助你的工作。其中一个常见的工具就是 npm,它是一个 Node.js 的包管理器,可以帮助你安装和管理 Node.js 模块。

    4 年前
  • npm 包 @opentelemetry/context-base 使用教程

    前言 在 Web 开发中,前端工程师经常需要监控应用程序的性能和异常,而 OpenTelemetry (OTel) 是一个跨语言的开源项目,为我们提供了一种简单、可扩展和统一的方法来生成、导出和处理分...

    4 年前
  • npm 包 @opentelemetry/core 使用教程

    前言 @opentelemetry/core 是一个用于构建分布式系统、监控和调度的 JavaScript 库。作为开放性业界标准 OpenTelemetry 的核心组件之一,@opentelemet...

    4 年前
  • npm 包 @opentelemetry/resources 使用教程

    前言 在现代化的应用程序或服务中,追踪和监控应用程序的关键性能指标是必要的。OpenTelemetry 是一个开源的框架,用于生成和处理跟踪,指标和日志数据。@opentelemetry/resour...

    4 年前
  • npm 包 @opentelemetry/tracing 使用教程

    介绍 在前端开发中,追踪应用程序的性能和错误是非常重要和必要的。@opentelemetry/tracing 是一个开源的 Node.js 库,它提供了一种可扩展的、可靠的方法来追踪前端应用程序的性能...

    4 年前
  • npm 包 @activeledger/activecontracts 使用教程

    在前端开发中,我们经常需要使用第三方包来实现一些功能。而在区块链开发中,@activeledger/activecontracts 是一个很好用的 npm 包,可以帮助我们实现一些与智能合约相关的操作...

    4 年前
  • npm 包 @ledgerhq/errors 使用教程

    在前端开发中,经常需要处理不同的错误情况。@ledgerhq/errors 是一个 Node.js 的 npm 包,可以用来处理 Ledger 设备上发生的错误。在本篇文章中,我们将详细介绍如何安装和...

    4 年前

相关推荐

    暂无文章