前言
现在,随着数字货币的流行,交易所的API也变得越来越普遍。而在JavaScript开发中,我们可以使用npm包来调用交易所的API,从而实现自己的交易机器人、监视器等等。今天,我们介绍一个使用npm包exchange-gdax-public-api的教程,用于与GDAX交易所的公共API进行交互。
关于GDAX
GDAX全称为Global Digital Asset Exchange,在2016年由Coinbase公司推出,是一个数字货币交易所。它支持比特币、莱特币、以太坊和比特币现金的交易。出于安全考虑,GDAX充分遵守反洗钱(AML)法规、金融识别码(KYC)等规则,同时也在技术上趋近于完善。
安装与使用
安装
使用npm安装:
$ npm install exchange-gdax-public-api
使用
- 首先需要引入 exchange-gdax-public-api:
const gdaxPublicAPI = require('exchange-gdax-public-api');
- 实例化 API:
const api = new gdaxPublicAPI();
- 调用 GDAX API:
api.getProductTicker('BTC-USD', function(err, res, body){ console.log(err, body); }); api.getProducts(function(err, res, body){ console.log(err, body); });
API文档
exchange-gdax-public-api提供一个API类,提供可用的GDAX API功能。现在,我们来详细介绍它的方法。
getProductById(id, callback)
使用此方法可以获得指定 ID 的产品的详情。
- 参数:
- id - 请求产品ID字符串
- callback - 回调函数,用于处理请求结果。规范:function(err, res, body)
- 请求示例
api.getProductById('BTC-USD', function(err, res, body) { console.log(body); });
- 返回示例
{ "id": "BTC-USD", "base_currency": "BTC", "quote_currency": "USD", "base_min_size": "0.00100000", "base_max_size": "10000.00000000", "quote_increment": "0.01000000" }
getProducts(callback)
使用此方法可以得到交易所上所有产品的列表。
- 参数:
- callback - 回调函数,用于处理请求结果。规范:function(err, res, body)
- 请求示例
api.getProducts(function(err, res, body) { console.log(body); });
- 返回示例
-- -------------------- ---- ------- - - ----- ---------- ---------------- ------ ----------------- ------ ---------------- ------------- ---------------- ----------------- ------------------ ------------ -- - ----- ---------- ---------------- ------ ----------------- ------ ---------------- ------------- ---------------- ------------------ ------------------ ------------ - -
getProductTicker(product_id, callback)
使用此方法可以获得指定产品的实时行情信息。
- 参数:
- product_id - 请求产品ID字符串
- callback - 回调函数,用于处理请求结果。规范:function(err, res, body)
- 请求示例
api.getProductTicker('BTC-USD', function(err, res, body) { console.log(body); });
- 返回示例
-- -------------------- ---- ------- - ----------- ------- -------- --------------- ------- ------------- ------ --------- ------ --------- --------- ---------------- ------- ----------------------------- -
getProductTrades(product_id, options, callback)
使用此方法可以获取指定产品一定时间内的成交记录信息。
- 参数:
product_id - 请求产品ID字符串
options - 请求过滤条件对象(不是必须的)。包括以下属性:
- after - 取得在此交易ID之后发生的交易。
- before - 取得在此交易ID之前发生的交易。
- limit - 最多返回的交易条数。
callback - 回调函数,用于处理请求结果。规范:function(err, res, body)
- 请求示例
api.getProductTrades('BTC-USD', {limit: 10}, function(err, res, body) { console.log(body); });
- 返回示例
-- -------------------- ---- ------- - - --------------------------------- ------------------ ----------------- -------------------- ------------- -- - ---------------------------------- ------------------ ----------------- -------------------- ------------- -- - ---------------------------------- ------------------ ----------------- -------------------- ------------- - -
getProductOrderBook(product_id, options, callback)
使用此方法可以从GDAX得到指定产品当前的委托簿信息。
- 参数:
product_id - 请求产品ID字符串
options - 请求过滤条件对象(不是必须的)。包括以下属性:
- level - 规定了返回的数据集大小的为1、2或3级(默认是1)。
callback - 回调函数,用于处理请求结果。规范:function(err, res, body)
- 请求示例
api.getProductOrderBook('BTC-USD', {level: 2}, function(err, res, body){ console.log(body); });
- 返回示例(以第二级数据为例)
-- -------------------- ---- ------- - ------- - - ------------ ------------ -- - ------------ ------------ - -- ------- - - ------------ ------------ -- - ------------ ------------ - - -
使用建议
可以使用如下套路来使用exchange-gdax-public-api:
-- -------------------- ---- ------- ----- ------------- - ------------------------------------ ----- --- - --- ---------------- -- ---------------- -------------------------------------------- ---- ------ -------------------- --------- ------------------ --- -- ----------- ----------------------------- ---- ----- - ------------------------ ------------------ --- -- ------------------- ---------------------------------- ------- --- ------------- ---- ------ -------------------- ----- ------- ------------------ --- -- ---------------- ------------------------------- ------- ---- ------------- ---- ----- - -------------------- --------- ------------------ ---
总结
我们现在已经介绍了使用exchange-gdax-public-api的方法。通过这个npm包,我们可以更加便捷地调用GDAX的公共API,实现各种机器人和监视器。 这个教程对初学者来说,是很实用的,同时也对想要亲自尝试基于npm包的交易的人有着一定的指导作用。希望本文将有助于您的学习和研究。
示例代码
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056c9e81e8991b448e60be