npm 包 @0x/fill-scenarios 使用教程

阅读时长 9 分钟读完

介绍

@0x/fill-scenarios 是一个将多个 0x 交易合并成一个交易以提高交易的效率的 npm 库。它基于 0x.js,提供了一种简单的方式来构建包含多个 0x 交易的交易。

安装

使用步骤

第一步:初始化

首先,我们需要创建一个 0x.js 的 provider。在这个例子中,我们使用了 Infura 这个以太坊的 provider:

第二步:创建交易对象

  1. 创建 Order
-- -------------------- ---- -------
------ - ----- - ---- ------------------

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

----- -------- - --- -------------
  1. 创建 0x.js 的 FillScenarios 对象
-- -------------------- ---- -------
------ - ----------------- - ---- -------------------------
------ -
    ------------------------------------
    ----------------------
    ---------------------
    -----------
    -------------------
- ---- --------
------ - ------------- - ---- ---------------------

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

----- ---------------- -------------------- - -
    --------- --------
    -------------------- ---------------------------
    ------------------ ------
    ------------------ ------
    ----------- ------
--
  1. 用 FillScenarios 对象构建要发送的交易
-- -------------------- ---- -------
----- ------------ - ----------------------------------------------
    -----------
    ---------------------
    --- -------------
    --------------------
    ----------------------------------------------
    ----------------
    ------------------
--

第三步:发送交易

这将会发送一个交易到以太坊网络中。这个交易包含了多个 0x 的交易(订单)。

建议的使用方法

  1. 订单数量

尽管这个库可以用来一次性发送多个订单,建议每次使用不超过 10 个订单。这是因为在发送大量的订单时,交易的 gas 费用数量会增加,并且可能导致交易失败。

  1. 订单类型

除非您知道自己在做什么,建议您只发送 marketSellOrdersFillOrKillAsync 和 marketBuyOrdersFillOrKillAsync。这两种类型的订单是当前最流行的 0x 订单类型。

示例代码

这段代码演示了如何创建一个可以在以太坊网络中执行的交易。

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

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

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

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

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

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

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