Npm 是一个包管理器,允许 JavaScript 开发者在他们的应用程序中安装和使用已经发布的模块。其中一个有用的 npm 包是 @0xproject/json-schemas,它提供了一套 json-schema 描述以帮助解析 0x 协议的各种数据结构。
该 npm 包主要包括下列 5 个 json-schema:
- orderSchema:用于验证提交给 0x decentralized exchange 的订单。
- orderBookSchema:用于验证 0x decentralized exchange 返回的订单簿。
- statsSchema:用于验证 0x 解析器返回的 0x 协议各种统计信息。
- tokenSchema:用于验证 ERC20 代币。
- transactionSchema:用于验证 ERC20 代币交易。
安装
要使用 @0xproject/json-schemas,需要将其安装为依赖项。可以通过以下方式完成安装:
npm install @0xproject/json-schemas
使用
安装完成后,就可以在项目中引入 @0xproject/json-schemas:
const orderSchema = require('@0xproject/json-schemas/lib/schemas/order_schema.json'); const orderBookSchema = require('@0xproject/json-schemas/lib/schemas/orderbook_schema.json'); const statsSchema = require('@0xproject/json-schemas/lib/schemas/stats_schema.json'); const tokenSchema = require('@0xproject/json-schemas/lib/schemas/token_schema.json'); const transactionSchema = require('@0xproject/json-schemas/lib/schemas/transaction_schema.json');
示例代码中引入了上述 5 个 json-schema。
现在,可以使用上述 json-schema 进行数据验证了。
验证订单
-- -------------------- ---- ------- ----- --- - --------------- ----- --- - --- ----- ---------- ---- --- ----- --------- - - ------------- -------- ------------- -------- --------- ------ --------- ------ --------------- -------- --------------- -------- ----------------- ------ ----------------- ------ ---------------------- ------ ----- ------ ---------- ----- -- ----- -------- - ------------------------- ----- ----- - -------------------- -- -------- -----------------------------
通过上面的代码,就可以验证一个订单是否符合订单规范了。
验证订单簿
-- -------------------- ---- ------- ----- --- - --------------- ----- --- - --- ----- ---------- ---- --- ----- ------------- - - ----- --- ----- -- -- ----- -------- - ----------------------------- ----- ----- - ------------------------ -- -------- -----------------------------
通过上面的代码,就可以验证一个订单簿是否符合规范了。
验证统计信息
-- -------------------- ---- ------- ----- --- - --------------- ----- --- - --- ----- ---------- ---- --- ----- --------- - - -------- ------ ---------- ------ -------------------------- ------ ---------- ------ --------------------- -- -- ----- -------- - ------------------------- ----- ----- - -------------------- -- -------- -----------------------------
通过上面的代码,就可以验证 0x 协议各种统计信息是否符合规范了。
验证 ERC20 代币
-- -------------------- ---- ------- ----- --- - --------------- ----- --- - --- ----- ---------- ---- --- ----- --------- - - ------- ------ ----- ------ --------- ------ -------- ----- -- ----- -------- - ------------------------- ----- ----- - -------------------- -- -------- -----------------------------
通过上面的代码,就可以验证 ERC20 代币是否符合规范了。
验证 ERC20 代币交易
-- -------------------- ---- ------- ----- --- - --------------- ----- --- - --- ----- ---------- ---- --- ----- --------------- - - --- ------ ------------- ------ ----- ------ ------ ----- -- ----- -------- - ------------------------------- ----- ----- - -------------------------- -- -------- -----------------------------
通过上面的代码,就可以验证 ERC20 代币交易是否符合规范了。
总结
如上所述,@0xproject/json-schemas npm 包提供了一套 0x 协议各种数据结构的 json-schema 描述,可以用于验证数据是否符合规范,从而提高代码的健壮性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/125378