什么是 @0xproject/order-watcher ?
@0xproject/order-watcher 是 0x 协议中的一个 npm 包,它提供了一种方便的方法来监视订单簿并响应 0x 协议上的各种事件。如果您正在开发与 0x 协议交互的应用程序,@0xproject/order-watcher 是必需的工具之一。
如何安装
您可以使用 npm 命令行工具安装该包:
npm install @0xproject/order-watcher
如何使用
使用 @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