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

阅读时长 5 分钟读完

什么是 @0xproject/order-watcher ?

@0xproject/order-watcher 是 0x 协议中的一个 npm 包,它提供了一种方便的方法来监视订单簿并响应 0x 协议上的各种事件。如果您正在开发与 0x 协议交互的应用程序,@0xproject/order-watcher 是必需的工具之一。

如何安装

您可以使用 npm 命令行工具安装该包:

如何使用

使用 @0xproject/order-watcher 有两种方法。第一种是创建一个 Watcher 对象来轮询 0x 协议并响应事件。这是比较基础的使用方式。第二种是以事件驱动的方式使用。我们将在这里分别介绍这两种用法。

轮询方式

下面的代码演示了如何使用 @0xproject/order-watcher 来创建一个 Watcher 对象并轮询 0x 协议:

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

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

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

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

这是一个比较基础的用法。上面的代码创建了一个 Watcher 对象,并使用 Infura 提供的 HTTP Provider 连接到 Mainnet。然后调用 start 方法来开始轮询 0x 协议上的事件。Watcher 可以监听多种类型的事件,包括交易(“fill”事件和“cancel”事件)和订单事件(“orderAdded”事件和“orderRemoved”事件)。

事件驱动方式

下面是一个事件驱动的示例:

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

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

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

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

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

在上面的示例中,我们首先创建了一个 OrderWatcher 对象。然后我们订阅订单添加事件和取消订单事件。当有新的订单添加到 0x 协议上时,OrderWatcher 会通过回调函数返回一个 Event 对象。我们可以使用 @0xproject/order-utils 中的 orderParsingUtils 模块获取该订单的哈希值。

当我们想要取消对某个特定订单的订阅时,我们可以调用 unsubscribe 函数,该函数将取消所有关于该订单哈希值的订阅。在这里,我们使用回调函数获取剩余订阅数。

使用 @0xproject/order-watcher 的意义

在本文介绍的示例中,我们可以轻松地使用 @0xproject/order-watcher 监听 0x 协议上的事件。它为开发人员提供了一个追踪订单状态变化的便捷方式。使用示例代码和本文的安装和使用说明,开发人员可以方便地了解如何使用和实现这个功能。

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