前言
ganache-cli 是一款可以本地调试和测试以太坊智能合约的命令行工具,它可以提供一个方便快捷的以太坊环境,无需与以太坊网络连接,适用于以太坊开发。
本文将详细介绍 ganache-cli 的安装、使用以及示例代码,以便前端开发者能够熟练掌握对其的操作,提高开发效率和调试效果。
安装
ganache-cli 可以通过 npm 包管理器进行安装,确保您已经安装好 Node.js 和 npm 工具,然后按照以下命令进行安装:
npm install -g ganache-cli
安装完成后,您就可以在命令行中使用 ganache-cli 命令了。
使用
启动 ganache-cli
在任意目录下,可以使用以下命令启动 ganache-cli:
ganache-cli
此时会自动创建一个以太坊私链,并在终端中输出一串私钥和地址,如下所示:
-- -------------------- ---- ------- --------- -------- ------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ --- ------------------------------------------ ------- ---- ------------------ --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- --- ---------------------------------------------------------------- -- ------ ------------------ --------- --- ------- ------ ----- ------ ------- ----- ------- ---- ---- ----- ----- ---- -- ----- ------------------------------ --------- -- --------------
连接 ganache-cli
使用 web3.js 等以太坊开发工具,连接 ganache-cli 的私链,通常只需在代码中指定 web3 的提供者为 http://localhost:8545
即可。如下所示:
var Web3 = require('web3'); var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
这时,ganache-cli 将会自动为您提供 10 个账户和相应的私钥,您可以使用这些账户来进行各种操作,例如发起交易、查询余额等。
控制 ganache-cli
ganache-cli 还提供了一些可选参数可以自定义私链环境,例如:
--account
: 指定账户以及账户内部私钥以供使用,如:--account=0x0f5c3e3b90177157c7f5c768fa547cc0c3c61fa8ccda1430f9e0ce26b689f32d,10000
. 这表示,创建一个余额为 10000 wei 的新账户,并使用指定的私钥进行签名。--mnemonic
: 用作创建私钥的种子语句,可以在每次启动时自动生成一个新私钥,默认为candy maple cake sugar pudding cream honey rich smooth crumble sweet treat
.--port
: ganache-cli 启动的端口号,默认为8545
.
例如,以下命令将指定 ganache-cli 使用自定义的种子语句,并将端口号改为 8550
:
ganache-cli --mnemonic=myseed --port=8550
扩展 ganache-cli
ganache-cli 还支持插件的形式,可安装各种有用的插件扩展其功能,例如 ganache-time-traveler
可以实现区块链时间旅行的功能。
安装插件时,可以使用以下命令:
npm install -g ganache-time-traveler
运行时,可以使用以下命令来启动插件:
ganache-cli --plugin ganache-time-traveler
这样就可以在交互式界面中使用 evm_increaseTime
和 evm_mine
命令,实现区块链的时间旅行。
示例代码
以下是一个交易的 JavaScript 代码示例,使用 web3.js 库连接 ganache-cli 上的私链,并使用账户 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1
向账户 0xffcf8fdee72ac11b5c542428b35eef5769c409f0
转账 500 ETH。
-- -------------------- ---- ------- --- ---- - ---------------- --- ---- - --- -------- ------------------------------------------------------ --- ------ - --------------------------------------------- --- --------- - --------------------------------------------- --- ----- - ------ ------------------------------- ------- --- ---------- ------ ----------------------- ---------- ------------- ---------------- - -- ------ - --------------- ----- - - ----------------- - ---
希望这篇教程能够帮助您熟悉和掌握 ganache-cli 工具,提高以太坊开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/95115