在以太坊的开发中,智能合约的部署和调用是必不可少的环节。为了方便地进行这些操作,需要使用一些工具。@nomiclabs/buidler-ethers 是一款专门为开发者提供的工具,旨在简化以太坊的开发过程。本篇文章将对 @nomiclabs/buidler-ethers 进行详细的介绍和使用教程。
什么是 @nomiclabs/buidler-ethers?
@nomiclabs/buidler-ethers 是一款用于以太坊开发的工具。它基于 buidler,并提供了一个集成了 ethers.js 功能的开发框架。通过使用它,你可以更加方便和高效地进行以太坊开发。
安装
在开始使用之前,需要先安装 @nomiclabs/buidler-ethers。可以通过 npm 进行安装,命令如下:
npm install @nomiclabs/buidler-ethers
使用
配置
首先需要在项目根目录下新建一个本地配置文件 buidler.config.js
,内容如下:
-- -------------------- ---- ------- --------------------------------------- -------------- - - --------- - ----------- - --------- - - ----------- ------- -- - ----------- ------- - -- ---- --------- --------- ---------- -- -------- - ---- ----------------------------------- --------- - --------- ----- -- ---- --------- --------- ---------- - - --
这里定义了两个网络: buidlerevm
和 rinkeby
。其中 buidlerevm
是 buidler 自带的沙箱网络,用于本地测试; rinkeby
则是以太坊 rinkeby 测试网络。在每个网络中,定义了账户及其私钥、链的 gas 和 gasPrice 等信息。
部署智能合约
创建一个智能合约 MyContract.sol,内容如下:
-- -------------------- ---- ------- ------ -------- ------- -------- ---------- - ---- ------ ----- -------- ------------ ------ ------ - ---- - ------ - -
使用 @nomiclabs/buidler-ethers 进行部署,代码如下:
-- -------------------- ---- ------- ----- - ------ - - ------------------------------ ----- -------- - ---------------------------------------- ----- -------- ------ - ----- ---------- - ----- -------------------- ---------------------- -------- ---- --- ---------- ------------------ ----- ---------- - ----- ---------------------------------------- ----- ---------- - ----- -------------------- ----------------------- ---------- -------------------- - -------------- -- ---------------------------- -- - --------------------- ---------------- ---
这里采用的是默认的 buidlerevm
网络进行测试,部署后会输出智能合约的地址。
调用智能合约
继续以 MyContract.sol 为例,调用智能合约的代码如下:
-- -------------------- ---- ------- ----- - ------ - - ------------------------------ ----- -------- - ---------------------------------------- ----- -------- ------ - ----- ---------- - ----- -------------------- ----- ---------- - ----- ---------------------------------------- ----- ---------- - ----- ------------------------------------------ ----- ------------------------ ----- ---- - ----- ------------------ ----------------- -- ------------- ----------------- - -------------- -- ---------------------------- -- - --------------------- ---------------- ---
这里使用 buidlerevm
网络作为测试网络,并使用 MyContract.attach
连接到已经部署的合约。调用 myContract.setData(100)
,修改智能合约中的 data 值,再通过 myContract.data()
获取 data 值,并输出到控制台。
总结
本文介绍了 @nomiclabs/buidler-ethers 的使用方法,从安装、配置、部署到调用都有详细的说明。这个工具大大简化了以太坊开发的流程,提升了开发效率。希望本文能对广大开发者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f38a25edbf7be33b2566f74