npm 包 @ethersproject/contracts 使用教程

阅读时长 5 分钟读完

简介

@ethersproject/contracts 是一个 JavaScript 库,提供了一个简单的 API 来与以太坊智能合约进行交互。它能够通过 ABI 将函数调用和交易封装成一个 JavaScript 对象,并用 web3 来进行签名和发送。在这篇文章中,我们将讨论如何使用 @ethersproject/contracts 来与智能合约进行交互。

开始

首先,你需要为你的项目安装 @ethersproject/contracts:

然后你需要导入库文件:

然后,你需要配置一个 Provider。Provider 提供了一个访问节点的接口,以太坊网络使用 JSON-RPC 协议,这个接口实现了这个协议。

接下来,你需要创建一个新的 Contract 对象来处理你的智能合约交互。你需要提供智能合约的地址和 ABI。

现在,我们已经完成了 @ethersproject/contracts 的初始化。

获得智能合约函数返回值

现在,我们可以调用智能合约中的函数并获取返回值:

发送交易

调用智能合约函数也可以可以发送交易,需要使用钱包进行签名:

事件监听

智能合约返回值和交易状态也可被监听:

结论

@ethersproject/contracts 提供了一个方便的 API 来与以太坊智能合约进行交互。本篇文章介绍了该库的基本使用方法,包括获得智能合约函数返回值,发送交易和事件监听等。如果你想了解更多关于以太坊开发的内容,请访问以太坊开发者入门指南。

示例代码

完整示例代码请参考本篇文章中使用的代码,具体请见 github

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

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

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

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

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

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

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

纠错
反馈