npm 包 ethjs-provider-signer 使用教程

阅读时长 6 分钟读完

介绍

ethjs-provider-signer 是一个基于 ethjs-provider 的 npm 包,用于将签名后的请求发送到以太坊节点。其支持多种签名方法,并且适用于前端和 Node.js 应用。

安装

在安装 ethjs-provider-signer 之前,需要先安装 ethjs-provider:

安装 ethjs-provider-signer:

使用

初始化

首先,需要引入 ethjs-provider 和 ethjs-provider-signer:

然后,创建一个 ProviderEngine 实例并添加 SignerPlugin 插件:

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

其中,signTransaction、signMessage、signPersonalMessage 和 signTypedMessage 是签名方法,根据不同的需求选择相应的方法。

签名交易

在实现签名交易之前,需要先获取 gasPrice 和 nonce,可以使用 Web3.js 提供的方法:

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

签名消息

ethjs-provider-signer 支持签名普通消息、个人消息和类型化消息。签名方法和签名交易类似,只需要选择相应的方法即可。

消息的构造方式如下:

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

示例代码

下面是签名交易的示例代码:

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

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

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

总结

ethjs-provider-signer 是一个便捷的工具,可以轻松地实现签名交易和签名消息的功能。对于前端和 Node.js 应用来说,ethjs-provider-signer 是一个不可或缺的工具。对于区块链应用开发者来说,学习使用 ethjs-provider-signer 是必要的。

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

纠错
反馈