介绍
@0x/orderbook 是一款基于 0x 协议的 npm 包,为前端开发者提供了一个完整的数据流——包括订单和交易——来构建区块链交易平台。它提供了一系列工具和 API,以帮助您轻松地创建并管理您的数字资产交易订单。
在本文中,我们将讨论如何使用 @0x/orderbook 来构建您的交易平台,包括如何设置 API 密钥和访问令牌,如何同时获取订单和交易数据,以及如何使用它们来检查订单的状态并进行交易。
安装
要从 npm 安装 @0x/orderbook,您可以使用以下命令:
npm install --save @0x/orderbook
配置
现在我们已经安装了 @0x/orderbook,让我们开始配置。
首先,您需要 API 密钥和访问令牌才能使用 @0x/orderbook。这些可以通过 0x 的网站获取。一旦您获取了这些凭证,您需要在您的项目中设置以下环境变量:
INFURA_PROJECT_ID
:Infura 项目 ID(用于访问以太坊网络)ETHERSCAN_API_KEY
:EtherScan API 密钥(用于访问以太坊交易数据)ORDER_END_POINT
:订单终端点 URL(用于获取订单数据)TRADE_END_POINT
:交易终端点 URL(用于获取交易数据)API_KEY
:0x API 密钥API_BASE_PATH
:0x API 基础路径(用于构造 API URLs)
您可以通过 process.env
对象访问环境变量。
订单和交易数据获取
一旦您完成了配置,现在可以使用 @0x/orderbook 来获取您所需的数据了。要获取订单数据,您可以使用以下代码:
const cachedClient = new CachedOrderbookClient(new HttpOrderbookClient(orderBookEndpointUrl)); const orderStates = await cachedClient.getOrderStatesAsync(orderHashes);
这将请求您设置的 ORDER_END_POINT
URL,以获取您传递给 cachedClient.getOrderStatesAsync
的订单哈希集合的状态。
要获取交易数据,您可以使用以下代码:
const tradeInfo = await tradeService.batchGetTradeInfosAsync(tradeInfos);
这将请求您设置的 TRADE_END_POINT
URL,并获取您传递给 tradeService.batchGetTradeInfosAsync
的交易信息集合。
使用收集到的订单和交易数据,您可以编写下面的代码来检测订单的状态并进行交易:
-- -------------------- ---- ------- ----- ----------- - ----- ---------------------------------------------- ----- --------- - ----- ------------------------------------------------- -- ------------- - -- ------------- -- --------------- --- ----------------- -- -------------------------------------------- -------------- - -- ---- ----- ------ - ----- ----------------------------------------------- ----------------------- -------------- - -
总结
@0x/orderbook 为前端开发人员提供了强大的工具和 API,以帮助您构建您的数字资产交易平台。通过设置 API 密钥和访问令牌,请求订单和交易数据,并使用它们来检查订单状态并进行交易,您可以轻松地创建并管理您的交易平台。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/orderbook