npm 包 @0xproject/order-utils 使用教程

阅读时长 5 分钟读完

介绍

@0xproject/order-utils 是一个专为 0x 协议设计的 npm 包,可以用于创建、解析和操作 0x 协议中使用的二进制 order 数据。该包提供了一系列帮助函数,可以使操作 0x 订单变得更加容易。

安装

通过 npm 安装:

使用方法

创建一个订单

我们可以使用以下代码创建一个简单的订单:

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

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

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

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

上面代码中的订单中含有以下信息:

  • makerAddress 是订单的创建者,即卖家。
  • takerAddress 是一个可选的地址,订单中的买家,默认值为 0x0000000000000000000000000000000000000000
  • makerAssetAmount 是以 wei 为单位的卖方卖出资产数量。
  • takerAssetAmount 是以 wei 为单位的买方买入资产数量。
  • expirationTimeSeconds 是订单的过期时间。

签名一个订单

要对订单进行签名,我们需要以下信息:

  • 要签名的订单数据。
  • 订单的创建者的私钥。

signature 属性是由 signOrder 函数生成的签名。

使用 orderHashUtils 模块

orderHashUtils 模块是 @0xproject/order-utils 包中非常有用的一个模块,它包含一组帮助函数,可以帮助我们创建、解析和操作 0x 订单散列值。

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

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

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

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

使用其他帮助函数

@0xproject/order-utils 还提供了一些其他帮助函数,可以帮助我们操作 0x 协议中的各种数据。以下是其中的一些函数:

  • assetDataUtils.encodeERC20AssetData(tokenAddress):帮助我们生成包含 ERC20 令牌地址的订单数据。
  • assetDataUtils.decodeERC20AssetData(assetData):帮助我们解码包含 ERC20 令牌地址的订单数据。
  • assetDataUtils.encodeERC721AssetData(tokenAddress, tokenId):帮助我们生成包含 ERC721 令牌地址和 tokenId 的订单数据。
  • assetDataUtils.decodeERC721AssetData(assetData):帮助我们解码包含 ERC721 令牌地址和 tokenId 的订单数据。

总结

@0xproject/order-utils 是一个非常有用的 npm 包,可以帮助我们轻松操作 0x 协议中的订单数据。通过使用它提供的函数,我们可以更加快速、精准地创建、解析和操作 0x 订单。

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