前言
@celo/ganache-cli 是一个基于 JavaScript 的轻量级以太坊客户端,很适用于测试和开发环境。它是以太坊基金会的 Ganache 的一个分支,支持一些额外的 Celo 相关的功能。
本教程将介绍如何在项目中安装和使用 @celo/ganache-cli,同时会展示一些示例代码来演示核心功能。
安装 @celo/ganache-cli
安装 @celo/ganache-cli 之前,你需要在本地安装好 Node.js
和 npm
。
npm install -g @celo/ganache-cli
最后一个 -g
标识是全局安装,这个额外的标识可以让你的命令行终端全局使用 ganache-cli
命令。
启动 @celo/ganache-cli
启动 @celo/ganache-cli 命令非常简单,进入你的项目目录,使用下面的命令:
ganache-cli
你会看到输出类似下面的东西:
-- -------------------- ---- ------- --------- -------- ------------------ --- ------------------------------------------ ----------------------- --- ------------------------------------------ ----------------------- --- ------------------------------------------ ----------------------- ------- ---- ------------------ --- ------------------------------------------------------------------ --- ------------------------------------------------------------------ --- ------------------------------------------------------------------ -- ------ ------------------ --------- ---- ---- ---- ------ ---- ------- ------ ----- ----- ------ ------ ----- ---- -- ----- ------------------------------ --- ----- ------------------ ----------- --- ----- ------------------ ------- --------- -- --------------
其中,Available Accounts
显示了已经为你创建的账户。在这个例子中,我们有 3 个账户,每个账户均有 100 ETH。同时,上面还显示了账户的私钥信息。
HD Wallet
是一个由24个单词构成的助记词,可以作为你的钱包恢复和备份用途。
Gas Price
和 Gas Limit
两个字段用于定义智能合约的处理费用,确保智能合约能够正常地被执行。
最后一行提示你, ganache-cli 正在启动本地 localhost:8545
服务。
在 Node.js 项目中使用 @celo/ganache-cli
在一个 Node.js 项目中使用 Ganache 很简单。你只需要安装 ganache-cli
npm 包然后在项目代码中引入它。
npm install --save @celo/ganache-cli
现在,在你的代码中使用 ganache-cli
的例子:
const ganache = require('@celo/ganache-cli'); const provider = ganache.provider(); // 使用 provider 来创建一个 Web3 实例 const Web3 = require('web3'); const web3 = new Web3(provider);
上面的例子创建了 ganache-provider
,并使用它创建了一个 web3
实例。这里,我们推荐使用 ganache-provider
,而不是 ganache-cli
直接与 JS 进行交互。
你可以在你的 JavaScript 代码中使用 provider
变量,例如:
web3.eth.getAccounts((error, accounts) => { console.log(accounts); });
示例代码
下面的代码展示了如何将 @celo/ganache-cli 与 Truffle 使用,同时也演示了 @celo/ganache-cli 常见的功能。
-- -------------------- ---- ------- ----- ------- - ----------------------------- ----- ------ - ------------------ ----- ---- - ---------------- ----- - ---- -------- - - --------------------------------------------- ----- ---- - --- ------------------------- --- --------- --- -------- ---------------- -- -- - -- ------ -------- - ----- ----------------------- -- ------ ------- - ----- --- ---------------------- --------- ----- --------- ---------- -- -- ------- ----- ------------ ---- --------- --- --- ------------------- -- -- - ---------- ---- ---- -------- ----- -- -- - ----- ----------- - ----- ------------------------------------- ------------------------- ----- --- ------- ---- - ------- ----- -- -- - ----- ----------------------------- ----- ------------ ---- --------- --- ----- ----------- - ----- ------------------------------------- ------------------------- ----- --- ---
上面的代码实现了字符串运算,部署合约实例,调用合约函数,验证编译结果等等。
结论
使用 @celo/ganache-cli 能够轻松测试和开发以太坊合约。通过本文,你应该能够快速熟悉它的使用方法,并能根据自己的需求定制使用模式。
GitHub 上的这个 示例项目 展示了如何在项目中使用 Ganache 进行开发,可以用来更深一步地学习。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f1bc230403f2923b035c4f9