秩序监视器 [已过期]
: 不进入: 警告: 此工程已贬值. 请使用 0x 网点 满足你所有的订单需求 可用或不启用命令共享。 如果你对如何使用Mesh有任何疑问,请联系我们 # discord 上的mesh 频道 : 不输入 :
命令监视器守护命令的有效性.
读取维基 条款。 。 。 .
命令监视器也带有 WebSocket 服务器, 以提供语言不可知访问 命令监视功能。 我们用过 WebSocket 节点客户端和服务器执行。服务器发送和接收符合 JSON RPC 规格。 。 。 .
安装
安装
npm install @0x/order-watcher --save
导入
import { OrderWatcher } from '@0x/order-watcher';
如果你的项目在 类型脚本中,将以下内容添加到 tsconfig.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。这些镜像的背后的秩序监视器所做的。 你可以读更多在 维基百科。与秩序监视器不同,它不会暴露任何 subscribe 或者说 unsubscribe 功能,因为WebSocket服务器对所有客户端保持单一的订阅开放.
提出请求的第一步是与服务器建立连接。 在 Javascript 中 :
var W3CWebSocket = require('websocket').w3cwebsocket;
wsClient = new W3CWebSocket('ws://127.0.0.1:8080');
在Python,你可以使用这个 websocket-客户端库 运行 :
from websocket import create_connection
wsClient = create_connection("ws://127.0.0.1:8080")
有了连接,你准备有效载荷 为你的请求。 有效载荷是一种json物体,其格式由该物体确定 JSON RPC 规格数字 :
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 (美国) 错误对象在此列出 。 当服务器成功响应时,此字段会被省略.
在Javascript中,可以使用 onmessage 回调 :
wsClient.onmessage = (msg) => {
const responseData = JSON.parse(msg.data);
const method = responseData.method
};
在皮松岛, recv 以轻量级的方式收到回复:
result = wsClient.recv()
method = result.method
捐款
我们强烈建议国际社会帮助我们作出改进并确定议定书的未来方向。 要在此包中报告错误, 请在此寄存器中创建一个问题 .
请读我们的 捐款准则 在开始之前.
安装依赖关系
如果您没有启用纱线工作空间( Yarn < v1.0) - 启用它们 :
yarn config set workspaces-experimental true
然后安装依赖关系
yarn install
构建
要构建此软件包和它所依赖的所有其他单列波软件包,请从单列波根目录中运行以下内容:
PKG=@0x/order-watcher yarn build
或在变化中不断重建:
PKG=@0x/order-watcher yarn watch
干净
yarn clean
林特
yarn lint
运行测试
yarn test