@0x-klaytn/orderbook 中文文档教程
@0x-klaytn/orderbook
帮助从远程源(Standard Relayer API, Mesh)获取订单并保持本地订单簿同步和更新的包-迄今为止。
支持的 Order Providers:
- SRA HTTP Polling
- SRA Websocket
- Mesh
Installation
yarn add @0x-klaytn/orderbook
Import
import { Orderbook } from '@0x-klaytn/orderbook';
或者
var Orderbook = require('@0x-klaytn/orderbook').Orderbook;
如果您的项目使用 TypeScript,请将以下内容添加到您的 tsconfig .json
:
"compilerOptions": {
"typeRoots": ["node_modules/@0x-klaytn/typescript-typings/types", "node_modules/@types"],
}
Usage
// Create an orderbook for makerAssetData, takerAssetData using the SRA Polling Order Provider
// This Provider polls the SRA endpoint automatically every 5 seconds on the supplied asset pairs
const orderbook = Orderbook.getOrderbookForPollingProvider({
httpEndpoint: 'https://sra.0x.org/v2',
pollingIntervalMs: 5000,
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);
// Create an orderbook for makerAssetData, takerAssetData using the SRA Websocket Order Provider
// This provider subscribes via websocket to receive order updates on the supplied asset pairs
const orderbook = Orderbook.getOrderbookForWebsocketProvider({
httpEndpoint: 'https://sra.0x.org/v2',
websocketEndpoint: 'wss://ws.sra.0x.org',
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);
// Create an orderbook for makerAssetData, takerAssetData using the Mesh Order Provider
// This provider subscribes via websocket to receive order updates on all orders stored in Mesh
const orderbook = Orderbook.getOrderbookForMeshProvider({
websocketEndpoint: 'wss://MESH_ENDPOINT',
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);
Contributing
我们欢迎来自更广泛社区的改进和修复! 要报告此包中的错误,请在此存储库中创建一个问题。
请在开始之前阅读我们的贡献指南。
Install dependencies
如果您没有启用 yarn workspaces (Yarn < v1.0) - 启用它们:
yarn config set workspaces-experimental true
然后安装依赖
yarn install
Build
项 要构建此包和它所依赖的所有其他 monorepo 包,请从 monorepo 根目录运行以下命令:
PKG=@0x-klaytn/orderbook yarn build
或持续重建关于改变:
PKG=@0x-klaytn/orderbook yarn watch
Clean
yarn clean
Lint
yarn lint
Run Tests
yarn test
@0x-klaytn/orderbook
Package to help fetch orders from a remote source (Standard Relayer API, Mesh) and keep the local orderbook synced and up-to-date.
Supported Order Providers:
- SRA HTTP Polling
- SRA Websocket
- Mesh
Installation
yarn add @0x-klaytn/orderbook
Import
import { Orderbook } from '@0x-klaytn/orderbook';
or
var Orderbook = require('@0x-klaytn/orderbook').Orderbook;
If your project is in TypeScript, add the following to your tsconfig.json
:
"compilerOptions": {
"typeRoots": ["node_modules/@0x-klaytn/typescript-typings/types", "node_modules/@types"],
}
Usage
// Create an orderbook for makerAssetData, takerAssetData using the SRA Polling Order Provider
// This Provider polls the SRA endpoint automatically every 5 seconds on the supplied asset pairs
const orderbook = Orderbook.getOrderbookForPollingProvider({
httpEndpoint: 'https://sra.0x.org/v2',
pollingIntervalMs: 5000,
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);
// Create an orderbook for makerAssetData, takerAssetData using the SRA Websocket Order Provider
// This provider subscribes via websocket to receive order updates on the supplied asset pairs
const orderbook = Orderbook.getOrderbookForWebsocketProvider({
httpEndpoint: 'https://sra.0x.org/v2',
websocketEndpoint: 'wss://ws.sra.0x.org',
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);
// Create an orderbook for makerAssetData, takerAssetData using the Mesh Order Provider
// This provider subscribes via websocket to receive order updates on all orders stored in Mesh
const orderbook = Orderbook.getOrderbookForMeshProvider({
websocketEndpoint: 'wss://MESH_ENDPOINT',
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);
Contributing
We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
Please read our contribution guidelines before getting started.
Install dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
Then install dependencies
yarn install
Build
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
PKG=@0x-klaytn/orderbook yarn build
Or continuously rebuild on change:
PKG=@0x-klaytn/orderbook yarn watch
Clean
yarn clean
Lint
yarn lint
Run Tests
yarn test