npm 包 ganache-cli 使用教程

阅读时长 7 分钟读完

前言

ganache-cli 是一款可以本地调试和测试以太坊智能合约的命令行工具,它可以提供一个方便快捷的以太坊环境,无需与以太坊网络连接,适用于以太坊开发。

本文将详细介绍 ganache-cli 的安装、使用以及示例代码,以便前端开发者能够熟练掌握对其的操作,提高开发效率和调试效果。

安装

ganache-cli 可以通过 npm 包管理器进行安装,确保您已经安装好 Node.js 和 npm 工具,然后按照以下命令进行安装:

安装完成后,您就可以在命令行中使用 ganache-cli 命令了。

使用

启动 ganache-cli

在任意目录下,可以使用以下命令启动 ganache-cli:

此时会自动创建一个以太坊私链,并在终端中输出一串私钥和地址,如下所示:

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

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

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

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

连接 ganache-cli

使用 web3.js 等以太坊开发工具,连接 ganache-cli 的私链,通常只需在代码中指定 web3 的提供者为 http://localhost:8545 即可。如下所示:

这时,ganache-cli 将会自动为您提供 10 个账户和相应的私钥,您可以使用这些账户来进行各种操作,例如发起交易、查询余额等。

控制 ganache-cli

ganache-cli 还提供了一些可选参数可以自定义私链环境,例如:

  1. --account: 指定账户以及账户内部私钥以供使用,如:--account=0x0f5c3e3b90177157c7f5c768fa547cc0c3c61fa8ccda1430f9e0ce26b689f32d,10000. 这表示,创建一个余额为 10000 wei 的新账户,并使用指定的私钥进行签名。
  2. --mnemonic: 用作创建私钥的种子语句,可以在每次启动时自动生成一个新私钥,默认为 candy maple cake sugar pudding cream honey rich smooth crumble sweet treat.
  3. --port: ganache-cli 启动的端口号,默认为 8545.

例如,以下命令将指定 ganache-cli 使用自定义的种子语句,并将端口号改为 8550

扩展 ganache-cli

ganache-cli 还支持插件的形式,可安装各种有用的插件扩展其功能,例如 ganache-time-traveler 可以实现区块链时间旅行的功能。

安装插件时,可以使用以下命令:

运行时,可以使用以下命令来启动插件:

这样就可以在交互式界面中使用 evm_increaseTimeevm_mine 命令,实现区块链的时间旅行。

示例代码

以下是一个交易的 JavaScript 代码示例,使用 web3.js 库连接 ganache-cli 上的私链,并使用账户 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1 向账户 0xffcf8fdee72ac11b5c542428b35eef5769c409f0 转账 500 ETH。

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

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

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

希望这篇教程能够帮助您熟悉和掌握 ganache-cli 工具,提高以太坊开发效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/95115