npm包build-gas-reporter使用教程

阅读时长 6 分钟读完

前言

对于前端开发人员来说,构建智能合约是一个非常具有挑战的任务。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

纠错
反馈