npm 包 ethjs-provider-signer 使用教程

介绍

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


猜你喜欢

  • npm 包 bisonjs 使用教程

    Bisonjs 是一个基于 JavaScript 的解析器生成器。其通过提供一个简单的 DSL(领域特定语言)来使得用户能够轻松地定义自己的语法。在使用过程中,您只需编写一些规则即可自动生成语法解析器...

    5 年前
  • npm 包 emblem-js 使用教程

    Emblem-js 是一个模板引擎,它可以将模板转化为 HTML。它使用类似 Handlebars 的语法,并且提供了像默认值、条件语句、循环等功能。本文将会介绍如何使用 npm 包 emblem-j...

    5 年前
  • npm 包 babel-plugin-inline-json 使用教程

    在前端开发中,我们经常会遇到需要在 JavaScript 代码中使用 JSON 数据的情况。如果每次都把 JSON 数据写在 JavaScript 文件里显然是不太优雅的做法,而且也不便于维护。

    5 年前
  • npm 包 robonomics-js 使用教程

    Robonomics 是一个针对机器人经济的开源平台,而 robonomics-js 是 Robonomics 官方提供的 JS 库,提供了与 Robonomics 网络进行交互的接口。

    5 年前
  • npm 包 xrtd-js 使用教程

    在前端开发中,我们常常会使用一些第三方的库和工具来提高开发效率。其中,NPM 是一个广受欢迎的包管理工具,能够帮助我们轻松地管理和下载所需的 JavaScript 包。

    5 年前
  • npm 包 ipfs-api 使用教程

    什么是 IPFS IPFS(InterPlanetary File System)是由 Juan Benet 创建的开源分布式文件系统。它是一个基于内容寻址的 p2p 文件系统,旨在使整个互联网可以变...

    5 年前
  • npm 包 complex-filter 使用教程

    在前端开发过程中,我们常常需要对数据进行筛选和过滤。这个时候,一个好用的数据过滤工具就显得尤为重要了。其中,npm 上有一个常用的数据筛选工具,名为 complex-filter。

    5 年前
  • npm 包 oip-js 使用教程

    什么是 oip-js? oip-js 是一款基于 Node.js 平台的 npm 包,用于实现与 OIP(Open Index Protocol)协议的交互。OIP 是一种去中心化数据存储和查询协议,...

    5 年前
  • npm 包 etdb-downloads 使用教程

    前言 etdb-downloads 是一个基于 Node.js 的 npm 包,用于批量下载 ETDB 数据库文件。ETDB(The Encyclopedia of DNA Elements)是一个基...

    5 年前
  • npm 包 build-and-watch 使用教程

    简介 build-and-watch 是一个基于命令行的 npm 包,用于监听指定目录下的文件变化并执行一些构建任务,可以帮助前端工程师自动化构建,提高工作效率。 安装 在命令行中输入以下代码进行安装...

    5 年前
  • npm 包 blockexplorer 使用教程

    如果你是前端开发者,而且对比特币和区块链有所了解,那么你肯定听说过 blockexplorer。 blockexplorer 是一个开源的区块链浏览器,它可以用来查询比特币和其他加密货币的交易和区块信...

    5 年前
  • npm 包 blockstorm-cli 使用教程

    在前端开发中,我们常常需要使用一些第三方库或工具来辅助开发。而 npm 是目前最常用的 JavaScript 包管理器之一。blockstorm-cli 是一个基于 npm 的命令行工具,它提供了便捷...

    5 年前
  • npm包promiser-serial使用教程

    有时我们需要按照特定的顺序依次执行异步任务,而promise-serial就是一个可以让我们达成这个目的的npm包。在本篇文章中,我们将会探讨promise-serial的使用方法,并配有详细的指导和...

    5 年前
  • npm包`tplink-lightbulb`使用教程

    前言 现在,智能家居越来越流行,智能家居设备也越来越多。本文将介绍一个npm包tplink-lightbulb,能够帮助我们控制智能灯泡。通过本文,你可以了解到如何使用tplink-lightbulb...

    5 年前
  • npm 包 homebridge-tplink-hs100-lightbulbs 使用教程

    前言 在我们生活的时代,物联网已经不再是遥远的概念。越来越多的物品与互联网相连,让我们的生活变得更加便捷和智能化。其中家庭智能化设备的应用越来越广泛,而其中智能灯泡的应用尤其受欢迎。

    5 年前
  • npm 包 homebridge-hs100 使用教程

    介绍 Homebridge 是一款开源的家庭自动化桥接软件,其可以让本来不支持 HomeKit 的设备通过插件的形式连接到 HomeKit 中。其中 homebridge-hs100 插件可以连接到 ...

    5 年前
  • npm 包 hs100-api 使用教程

    简介 hs100-api 是一个使用 Node.js 操作智能插座 TP-Link HS100 的 npm 包,旨在提供简单易用的接口,方便前端开发人员在他们的项目中使用智能插座。

    5 年前
  • npm 包 thing.js 使用教程

    前言 npm 是 Node.js 的包管理器,通过 npm 可以方便地安装、升级、卸载各种 JavaScript 库和工具。thing.js 是一个封装了常见数据类型处理的 npm 库,支持一些常见的...

    5 年前
  • npm 包 telismo 使用教程

    当我们需要为网站添加电话呼叫功能时,可以选择使用 telismo 这个 npm 包来实现。telismo 提供了一种简单的方式来添加电话号码,以便于访问者可以直接点击电话号码来打电话。

    5 年前
  • npm 包 ddp 使用教程

    前言 在前端开发过程中,经常会使用到许多 npm 包来提高开发效率。其中,ddp 包就是一个专门为 Meteor 框架设计的包。它提供了一种快速、实时更新的数据通信方式,使得前端和后端可以直接进行数据...

    5 年前

相关推荐

    暂无文章