npm 包 @0x/web3-wrapper 使用教程

介绍

@0x/web3-wrapper 是一个为 @0x/project 等以太坊的 dApp 提供的 Web3.js 接口封装包,可以用来在 JavaScript 项目中与以太坊区块链进行交互。该包提供了一些便捷的方法,可以使得以太坊智能合约开发变得更加容易。本教程将带您深入了解该包的基本使用方法,并提供一些示例代码以帮助您理解。

安装

在开始使用 @0x/web3-wrapper 之前,需要先通过 NPM 安装它。可以通过以下命令来安装:

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

快速入门

为了开始使用 @0x/web3-wrapper 包,您需要:

  • 首先引入该包:
----- - ----------- - - ----------------------------
  • 创建 Web3Wrapper 实例,接着传入一个 Web3.js 实例和一个可选的 HTTP Provider(例如 infura):
----- --------------- - ------------------------------------------------------
----- -------- - --- ---------------------------------------------
----- ----------- - --- ----------------------
  • 使用该实例与以太坊进行交互。例如,以下代码将获取以太坊最新区块的信息:
----- ----------- - ----- ----------------------------------
----- ----- - ----- -------------------------------------- ------

即可完成 @0x/web3-wrapper 包的快速入门。

基本方法

@0x/web3-wrapper 包的基本方法如下:

getBlockNumberAsync()

获取当前区块链上的最新区块号(非常量方法)。

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

getBlockAsync(blockNumber: number, returnFullTxObjects: boolean = false)

根据区块号获取该区块的信息(非常量方法)。

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

参数:

  • blockNumber: number:要获取的区块号。
  • returnFullTxObjects: boolean = false:如果为真,则返回的区块对象包含完整的交易信息。如果为假,则只包含交易哈希。

getTransactionAsync(txHash: string)

根据交易哈希获取交易信息(非常量方法)。

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

参数:

  • txHash: string:要获取的交易哈希。

getEthereumNodeInfoAsync()

获取以太坊节点信息(非常量方法)。

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

getGasPriceInWeiAsync()

获取以太坊区块链上当前的 Gas 价格(非常量方法)。

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

getCurrentBlockTimestampAsync()

获取当前区块链上的时间戳(非常量方法)。

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

高级用法

@0x/web3-wrapper 包还有一些更高级的用法,包括交易签名、发送交易等。

signTransactionAsync(txData: EthereumTxData, opts: Partial): Promise

对交易进行签名(非常量方法)。

----- ------ - -
  ------ ----- ----------------------------------------------------
  ----- --------------
  --- -----------------
  ------ --- -----------------------------
  --------- -------------------------
  ---- --- ------------------
--
----- -------- - ----- ---------------------------------------- - ----- -------------- --------- ------------------------ ---
  • txData: EthereumTxData:要签名的交易数据。
  • opts: Partial<EthereumTxOpts>:交易额外的选项。

sendTransactionAsync(txData: EthereumTxData, opts: Partial): Promise

发送交易到区块链上(非常量方法)。

----- ------ - -
  ------ ----- ----------------------------------------------------
  ----- --------------
  --- -----------------
  ------ --- -----------------------------
  --------- -------------------------
  ---- --- ------------------
--
----- ---- - ----- ---------------------------------------- - ----- -------------- --------- ------------------------ ---
  • txData: EthereumTxData:要发送的交易数据。
  • opts: Partial<EthereumTxOpts>:交易额外的选项。

estimateGasAsync(txData: EthereumTxData): Promise

估算交易所需的 Gas 值(非常量方法)。

----- ------ - -
  ------ ----- ----------------------------------------------------
  ----- --------------
  --- -----------------
  ------ --- -----------------------------
  --------- -------------------------
  ---- --- ------------------
--
----- --- - ----- -------------------------------------
  • txData: EthereumTxData:要估算的交易数据。

示例代码

下面是一个示例代码,演示如何使用 @0x/web3-wrapper 包与以太坊交互并估算 Gas 值:

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

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

总结

@0x/web3-wrapper 是一个非常有用的 Node.js 模块,用于在 JavaScript 项目中与以太坊区块链进行交互。包含了许多非常用的方法,例如获取区块信息、获取交易信息、交易签名、发送交易、估算 Gas 等。在本教程中,我们介绍了该包的基本使用方法和高级用法,并提供了一些示例代码。希望这个教程能够帮助您更好地理解 @0x/web3-wrapper 包,以便更好地进行以太坊智能合约开发。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/192184


猜你喜欢

  • npm 包 voxel-plugins 使用教程

    什么是 voxel-plugins voxel-plugins 是基于 voxel-engine 的一种插件式结构,它可以使你在一个 voxel-engine 场景中快速创建各种类型的实用工具和游戏物...

    5 年前
  • npm 包 voxel-physicals 使用教程

    voxel-physicals 是一款基于 voxel.js 的物理引擎模块,用于实现体积感知的游戏和应用程序。本文将详细介绍如何使用该模块以及示范代码。 1. 安装 voxel-physical...

    5 年前
  • npm 包 voxel-mesher 使用教程

    voxel-mesher 是一款用于 JavaScript 和 WebGL 应用程序中的体素网格化库。如果你想在你的前端项目中使用体素网格化,那么这个 npm 包是你很好的选择。

    5 年前
  • npm 包 voxel-controls 使用教程

    前言 voxel-controls 是一个基于 Three.js 和拓展模块拥有良好互动体验的 3D 编辑器的 npm 包。使用该 npm 包可以快速地创建出一个拥有自由控制面板的 3D 编辑器。

    5 年前
  • npm 包 obsolete 使用教程

    在开发过程中,经常会遇到一些依赖过时的 npm 包,为了保证代码的质量和稳定性,我们需要尽早地发现这些问题,及时地进行更新。 而 npm 包 obsolete 可以帮助我们发现过时的依赖包,并提供一些...

    5 年前
  • npm 包 hackedvoxels-shader 使用教程

    简介 hackedvoxels-shader 是一个基于 Three.js 的着色器库,它能够快速生成各种酷炫的着色效果,比如扭曲,波形,扭曲等等。 安装 你可以通过 npm 来安装 hackedvo...

    5 年前
  • npm 包 game-shell-fps-camera 使用教程

    在前端领域中,使用 npm 包帮助我们简化前端项目的开发过程。其中,game-shell-fps-camera 是一款用于实现游戏摄像头控制的 npm 包。 本文将详细介绍 game-shell-fp...

    5 年前
  • npm 包 tic 使用教程

    在前端开发中,有很多小工具可以帮我们快速地完成一些常见的任务。今天,我们要介绍的是一个非常实用的 npm 包 tic,它可以快速地创建 CLI 游戏。 tic 是什么? tic 是一个非常轻量级的 n...

    5 年前
  • npm 包 collide-3d-tilemap 使用教程

    在前端开发中,经常需要处理 WebGL 场景中物体的碰撞问题。碰撞检测是一项非常重要的技术,在游戏开发和虚拟现实领域尤为常见。这时候,我们可以借助 npm 包 collide-3d-tilemap,来...

    5 年前
  • npm 包 spatial-trigger 使用教程

    在前端开发中经常需要处理与物理位置相关的数据。而 spatial-trigger 是一个基于原生 JavaScript 的 npm 包,它提供了一个方便的方法来监听物理位置变化,以及处理和触发相应的事...

    5 年前
  • npm 包 kb-controls 使用教程

    简介 kb-controls 是一个npm包,其主要功能是提供前端项目中常见的控件,如按钮,下拉框等等。使用该包,开发者可以更加便利的实现前端页面的开发。 安装 使用npm可以简单方便地安装该包,在控...

    5 年前
  • npm 包 interact 使用教程

    Interact 是一个用于前端交互的 JavaScript 库,可以轻松地实现拖拽、缩放等交互效果。它是一个基于 PointerEvents API 的库,支持触摸屏和鼠标交互。

    5 年前
  • npm 包 pin-it 使用教程

    什么是 pin-it? pin-it 是一个 npm 包,它提供了一个可以在网站上创建可定位的引用点的功能。它把一个小图标放在网站上,当用户点击这个小图标时,会弹出一个 pop-up 窗口,其中包含了...

    5 年前
  • npm 包 voxel-region-change 使用教程

    介绍 在前端开发中,我们经常需要使用 3D 游戏引擎或 3D 库来实现一些效果。其中一个,叫做 voxel.js 的库,提供了基于 WebGL 的 3D 游戏引擎和地图编辑器。

    5 年前
  • npm 包 voxel-physical 使用教程

    介绍 voxel-physical 是一个基于 voxel.js 的 npm 包,可以通过它实现在浏览器中创建 3D 物理模拟场景,支持刚体、碰撞检测、重力等物理效果。

    5 年前
  • npm 包 @numso/voxel-texture 使用教程

    本文介绍 npm 包 @numso/voxel-texture 的使用教程,让您在前端开发中更加便捷地实现体素纹理的渲染效果。 什么是体素纹理? 在三维图形所描述的物体或场景中,我们可以为不同的方...

    5 年前
  • npm 包 voxel-control 使用教程

    前言 前端开发是一个快速变化的领域,新的技术和流行趋势不断涌现。作为前端开发者,我们需要不断学习和掌握新技术,以提高自己的能力和竞争力。 在前端开发过程中,我们经常需要使用一些第三方工具和库,以方便我...

    5 年前
  • npm 包 voxel-raycast 使用教程

    什么是 npm 包 voxel-raycast npm 包 voxel-raycast 是一个能够进行 3D 空间中的光线投射(ray casting)的 JavaScript 库。

    5 年前
  • npm 包 voxel-view 使用教程

    Voxel-view 是一个基于浏览器的 3D 立方体渲染引擎,该引擎提供了简单易用的 API 接口,使得用户可以快速地在网页中渲染出逼真的 3D 立方体图形。而 voxel-view 这个 npm ...

    5 年前
  • npm 包 cowlog 使用教程

    简介 cowlog 是一个简单易用的前端日志记录器,使用 npm 包进行安装及使用。cowlog 具有多种日志级别,包括 debug、info、warn、error 和 fatal,支持格式化输出、自...

    5 年前

相关推荐

    暂无文章