# @0x/order-watcher 中文文档

规范地址：https://npmcn.com/package/%400x/order-watcher/

版本：4\.0\.17
npm 元数据更新时间：2026-08-12T18:07:33.651Z
中文译文更新时间：2026-11-06T18:28:22.474Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%400x/order-watcher
原文对照：https://npmcn.com/package/%400x/order-watcher/?lang=original
项目主页：https://github.com/0xProject/0x-monorepo#readme
源码仓库：https://github.com/0xProject/0x-monorepo

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：182 kB，53 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=6\.0\.0
- 运行依赖：20 个
- 首次发布：2018-10-18T14:04:23.246Z
- 最新版本发布：2019-08-08T21:00:08.774Z
- 近 30 天下载量：2484（2026-10-04 至 2026-11-02，npm 官方下载统计）
- 已发布版本数：36（近 12 个月 0 个）

## 中文简介

命令监视器守护命令的有效性

## 安装

```sh
npm install @0x/order-watcher
```

也可以使用：`pnpm add @0x/order-watcher`、`yarn add @0x/order-watcher`、`bun add @0x/order-watcher`

## README

## 秩序监视器 \[已过期\]

: 不进入: 警告: 此工程已贬值. 请使用 [0x 网点](https://github.com/0xProject/0x-mesh) 满足你所有的订单需求 可用或不启用命令共享。 如果你对如何使用Mesh有任何疑问,请联系我们 [\# discord 上的mesh 频道](https://discordapp.com/invite/d3FTX3M) : 不输入 :

命令监视器守护命令的有效性.

#### 读取维基 [条款](https://0xproject.com/wiki#0x-OrderWatcher)。 。 。 .

命令监视器也带有 WebSocket 服务器, 以提供语言不可知访问 命令监视功能。 我们用过 [WebSocket 节点客户端和服务器执行](https://www.npmjs.com/package/websocket)。服务器发送和接收符合 [JSON RPC 规格](https://www.jsonrpc.org/specification)。 。 。 .

## 安装

**安装**

```bash
npm install @0x/order-watcher --save
```

**导入**

```javascript
import { OrderWatcher } from '@0x/order-watcher';
```

如果你的项目在 [类型脚本](https://www.typescriptlang.org/)中,将以下内容添加到 `tsconfig.json`数字 :

```json
"compilerOptions": {
    "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
}
```

## 使用 WebSocket 服务器

**设置**

**环境变量** 可以设置一些环境变量来配置服务器:

-   `ORDER_WATCHER_HTTP_PORT` 指定 http 服务器将收听的端口 接受连接 未设定时, 我们默认为 8080 .

**请求** 服务器接受三类请求: `ADD_ORDER`, (中文(简体) ), `REMOVE_ORDER` 财务报告和审定财务报表 `GET_STATS`。这些镜像的背后的秩序监视器所做的。 你可以读更多在 [维基百科](https://0xproject.com/wiki#0x-OrderWatcher)。与秩序监视器不同,它不会暴露任何 `subscribe` 或者说 `unsubscribe` 功能,因为WebSocket服务器对所有客户端保持单一的订阅开放.

提出请求的第一步是与服务器建立连接。 在 Javascript 中 :

```
var W3CWebSocket = require('websocket').w3cwebsocket;
wsClient = new W3CWebSocket('ws://127.0.0.1:8080');
```

在Python,你可以使用这个 [websocket-客户端库](http://pypi.python.org/pypi/websocket-client/) 运行 :

```
from websocket import create_connection
wsClient = create_connection("ws://127.0.0.1:8080")
```

有了连接,你准备有效载荷 为你的请求。 有效载荷是一种json物体,其格式由该物体确定 [JSON RPC 规格](https://www.jsonrpc.org/specification)数字 :

-   `id`: 所有请求都要求您指定数字 `id`。当服务器响应请求时,响应将相同 `id` 作为满足你要求的那个.
-   `jsonrpc`: 总是这个字符串 `'2.0'`。 。 。 .
-   `method`: 此选项指定您要调用的命令监视器方法 。 换句话说, `'ADD_ORDER'`, (中文(简体) ), `'REMOVE_ORDER'` 或者说 `'GET_STATS'`。 。 。 .
-   `params`: 这些包含命令监视器执行您所调用的方法所需的参数 。 对于 `ADD_ORDER`,提供 `{ signedOrder: <your signedOrder> }`用于 `REMOVE_ORDER`,提供 `{ orderHash: <your orderHash> }`用于 `GET_STATS`,不需要参数,所以您可以让这个空出.

接下来,将有效载荷转换为字符串并通过连接发送. 在 Javascript 中 :

```
const addOrderPayload = {
    id: 1,
    jsonrpc: '2.0',
    method: 'ADD_ORDER',
    params: { signedOrder: <your signedOrder> },
};
wsClient.send(JSON.stringify(addOrderPayload));
```

在平顶山:

```
import json
remove_order_payload = {
    'id': 1,
    'jsonrpc': '2.0',
    'method': 'REMOVE_ORDER',
    'params': {'orderHash': '0x6edc16bf37fde79f5012088c33784c730e2f103d9ab1caf73060c386ad107b7e'},
}
wsClient.send(json.dumps(remove_order_payload));
```

**回应** 服务器以类似格式回应所有请求. 在数据字段中,你会找到包含以下字段的另一个对象:

-   `id`: 对应服务器响应的请求的ID. `UPDATE` 答复不以任何请求为依据,因此 `id` 字段省略“.
-   `jsonrpc`: 永远 `'2.0'`。 。 。 .
-   `method`:服务器响应的方法. 爱克. `ADD_ORDER`。当命令状态发生变化时,服务器也可能启动响应。 在这种情况下,方法将列为 `UPDATE`。 。 。 .
-   `result`:此字段因方法而异. `UPDATE` 答复包含新顺序状态. `GET_STATS` 答复中包含当前顺序数。 当出现错误时,此字段会被省略 .
-   `error`: 当执行请求时 [JSON RPC (美国)](https://www.jsonrpc.org/specification) 错误对象在此列出 。 当服务器成功响应时,此字段会被省略.

在Javascript中,可以使用 `onmessage` 回调 :

```
wsClient.onmessage = (msg) => {
    const responseData = JSON.parse(msg.data);
    const method = responseData.method
};
```

在皮松岛, `recv` 以轻量级的方式收到回复:

```
result = wsClient.recv()
method = result.method
```

## 捐款

我们强烈建议国际社会帮助我们作出改进并确定议定书的未来方向。 要在此包中报告错误, 请在此寄存器中创建一个问题 .

请读我们的 [捐款准则](https://npmcn.com/package/CONTRIBUTING.md) 在开始之前.

### 安装依赖关系

如果您没有启用纱线工作空间( Yarn < v1.0) - 启用它们 :

```bash
yarn config set workspaces-experimental true
```

然后安装依赖关系

```bash
yarn install
```

### 构建

要构建此软件包和它所依赖的所有其他单列波软件包,请从单列波根目录中运行以下内容:

```bash
PKG=@0x/order-watcher yarn build
```

或在变化中不断重建:

```bash
PKG=@0x/order-watcher yarn watch
```

### 干净

```bash
yarn clean
```

### 林特

```bash
yarn lint
```

### 运行测试

```bash
yarn test
```

## 常见问题

### @0x/order-watcher 是什么？

命令监视器守护命令的有效性

### 如何安装 @0x/order-watcher？

在项目目录运行 npm install @0x/order-watcher，或使用 pnpm add / yarn add / bun add。

### @0x/order-watcher 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @0x/order-watcher 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @0x/order-watcher 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=6\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @0x/order-watcher 可以商用吗？

@0x/order-watcher 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @0x/order-watcher 的下载量有多少？

根据 npm 官方下载统计，@0x/order-watcher 在 2026/10/04 – 2026/11/02 这 30 天内被下载 2,484 次，日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @0x/order-watcher 还在维护吗？

最新版本 4\.0\.17 发布于 2019/08/09（7 年前）；至今共发布 36 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/10/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

