npm 包 @truffle/provider 使用教程

阅读时长 5 分钟读完

简介

@truffle/provider 是一个由 Truffle 提供的以太坊链客户端 JS 库,它可以帮助我们在前端应用程序中连接到以太坊区块链。它提供了一个简单易用的接口来处理以太坊交易,包括签名和发送交易等功能。

在本文中,我们将介绍如何使用 @truffle/provider 在前端应用程序中连接到以太坊区块链,并通过示例代码来说明其实际应用。

安装

首先,我们需要在我们的前端项目中安装 @truffle/provider。我们可以通过 npm 或 yarn 安装它。

使用 npm 安装:

使用 yarn 安装:

连接到以太坊区块链

接下来,我们将介绍如何使用 @truffle/provider 连接到以太坊区块链。

创建 Provider

我们需要首先创建一个 Provider 对象,用于连接到我们想要连接的以太坊网络。我们可以使用以下代码来创建一个 Provider 对象:

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

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

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

----- ---- - --- -------------
展开代码

上述代码中,我们首先创建了一个 ProviderEngine 对象,并使用 WebsocketSubprovider 将它连接到 Infura 的以太坊节点。然后,我们添加了 TruffleProvider,并启动 ProviderEngine。

最后,我们创建了一个 Web3 对象,该对象使用我们刚刚创建的 ProviderEngine 作为其提供者,这样我们就可以使用 Web3 API 访问以太坊区块链了。

连接到本地以太坊节点

我们也可以将 ProviderEngine 连接到我们本地的以太坊节点。以下是使用 HTTP 连接到本地以太坊节点的示例代码:

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

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

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

----- ---- - --- -------------
展开代码

使用 Provider 处理交易

现在我们已经成功连接到以太坊区块链,并创建了一个可用于处理交易的 Provider 对象,下面让我们来尝试一下如何使用 Provider 处理交易。

签名交易

以下是如何使用 Provider 对象签名交易的示例代码:

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

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

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

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

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

- ------------------------------------------------------------ --------
------------------------------------------------------------------------------------
展开代码