Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/you21979/node-zaif
Promise-base Cryptocurrency Exchange zaif.jp API for node.js
https://github.com/you21979/node-zaif
cryptocurrency-exchange-zaif javascript trade
Last synced: 3 days ago
JSON representation
Promise-base Cryptocurrency Exchange zaif.jp API for node.js
- Host: GitHub
- URL: https://github.com/you21979/node-zaif
- Owner: you21979
- License: mit
- Created: 2014-08-27T10:42:27.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-12-08T09:23:06.000Z (almost 7 years ago)
- Last Synced: 2024-11-01T13:45:58.867Z (12 days ago)
- Topics: cryptocurrency-exchange-zaif, javascript, trade
- Language: JavaScript
- Homepage:
- Size: 45.9 KB
- Stars: 20
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
node-zaif
============[![NPM](https://nodei.co/npm/zaif.jp.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/zaif.jp)
[![Build Status](https://secure.travis-ci.org/you21979/node-zaif.png?branch=master)](https://travis-ci.org/you21979/node-zaif)
[![Coverage Status](https://coveralls.io/repos/github/you21979/node-zaif/badge.svg?branch=master)](https://coveralls.io/github/you21979/node-zaif?branch=master)Promise-base Cryptocurrency Exchange zaif.jp API for node.js
install
-------```
npm i zaif.jp
```api document
------------
https://techbureau-api-document.readthedocs.io/ja/latest/index.htmlPublic API
----------module prepare
```
var zaif = require('zaif.jp');
var api = zaif.PublicApi;
```lastprice(pair)
```
api.lastPrice('mona_jpy').then(console.log)
{ last_price: 16.4 }
```depth(pair)
```
api.depth('mona_jpy').then(console.log)
{ asks:
[ [ 16.5, 256 ],
[ 16.6, 21 ],
[ 16.7, 25 ],
[ 17, 2392 ],
[ 17.1, 2042 ],
[ 17.2, 1000 ],
[ 17.3, 1075 ],
[ 17.4, 1135 ],
[ 17.5, 7914 ],
[ 17.6, 1002 ],
[ 17.7, 39 ],
[ 17.8, 1000 ],
[ 17.9, 696 ],
[ 70, 2225 ] ],
bids:
[ [ 16.2, 50 ],
[ 16.1, 356 ],
[ 16, 1000 ],
[ 15.7, 206 ],
[ 15.6, 177 ],
[ 15.5, 1149 ],
[ 15.4, 271 ],
[ 15.2, 203 ],
[ 15.1, 1697 ],
[ 0.1, 51162 ] ] }
```trades(pair)
```
api.trades('mona_jpy').then(console.log)
[ { date: 1410277807,
price: 16.1,
amount: 50,
tid: 18655,
currency_pair: 'mona_jpy',
trade_type: 'ask' },
{ date: 1410270931,
price: 15.6,
amount: 122,
tid: 18492,
currency_pair: 'mona_jpy',
trade_type: 'bid' },
{ date: 1410270895,
price: 15.6,
amount: 1699,
tid: 18490,
currency_pair: 'mona_jpy',
trade_type: 'bid' } ]
```ticker(pair)
```
api.ticker('mona_jpy').then(console.log)
{ last: 16.1,
high: 18.9,
low: 12,
vwap: 16.0408,
volume: 221812,
bid: 16.1,
ask: 16.2 }
```Private API
-----------edit config.json
```
{
"apikey" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secretkey" : "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
}
```module prepare
```
var zaif = require('zaif.jp');
var Promise = require('bluebird');
var fs = Promise.promisifyAll(require('fs'));fs.readFileAsync('./config.json').then(JSON.parse).
then(function(config){
var api = zaif.createPrivateApi(config.apikey, config.secretkey, 'user agent is node-zaif');
// call api
}).catch(console.log);
```getinfo()
```
api.getInfo().then(console.log);
{ funds: { jpy: 100000, btc: 0, mona: 0 },
rights: { info: 1, trade: 1, withdraw: 1 },
trade_count: 9999,
open_orders: 0,
server_time: 1410278546 }
```trade(pair, 'bid' or 'ask', price, amount)
```
api.trade('mona_jpy', 'bid', 5, 10000).then(console.log);
{ received: 0,
remains: 10000,
order_id: 5999,
funds: { jpy: 50000, btc: 0, mona: 0 } }
```activeorders()
```
api.activeOrders().then(console.log);
{ '5999':
{ currency_pair: 'mona_jpy',
action: 'bid',
amount: 10000,
price: 5,
timestamp: '1410279064' } }
```cancelorder(order_id)
```
api.cancelOrder(5999).then(console.log);
{ order_id: 5999,
funds: { jpy: 100000, btc: 0, mona: 0 } }
```Stream API
-----------```
var zaif = require('zaif.jp');
var w = zaif.createStreamApi('mona_jpy', function(data){
console.log(data)
});
{ asks:
[ [ 17.1, 1576 ],
[ 17.2, 3446 ],
[ 17.3, 4226 ],
[ 17.4, 7366 ],
[ 17.5, 14613 ],
[ 17.6, 2420 ],
[ 17.7, 3300 ],
[ 17.8, 2184 ],
[ 17.9, 4520 ],
[ 18, 3095 ],
[ 18.1, 1395 ],
[ 18.2, 1407 ],
[ 18.3, 2205 ],
[ 18.5, 3856 ],
[ 18.6, 2440 ],
[ 18.8, 3348 ],
[ 18.9, 1928 ],
[ 19, 4068 ],
[ 19.2, 1882 ],
[ 19.3, 22232 ] ],
last_price: { action: 'ask', price: 17 },
trades:
[ { currenty_pair: 'mona_jpy',
trade_type: 'ask',
price: 17,
tid: 80618,
amount: 64,
date: 1428130395 },
{ currenty_pair: 'mona_jpy',
trade_type: 'ask',
price: 17,
tid: 80617,
amount: 64,
date: 1428130337 },
{ currenty_pair: 'mona_jpy',
trade_type: 'ask',
price: 17,
tid: 80616,
amount: 64,
date: 1428130278 },
{ currenty_pair: 'mona_jpy',
trade_type: 'ask',
price: 16.9,
tid: 80505,
amount: 16,
date: 1428117904 } ],
bids:
[ [ 17, 1133 ],
[ 16.9, 2390 ],
[ 16.8, 1944 ],
[ 16.7, 2370 ],
[ 16.6, 3585 ],
[ 16.5, 16985 ],
[ 16.4, 1390 ],
[ 16.3, 1981 ],
[ 16.2, 2399 ],
[ 16.1, 4210 ],
[ 16, 9991 ],
[ 15.9, 2955 ],
[ 15.8, 1978 ],
[ 15.7, 1859 ],
[ 15.6, 1991 ],
[ 15.5, 2396 ],
[ 15.4, 50 ],
[ 15.3, 2219 ],
[ 15.2, 3172 ],
[ 15.1, 3862 ] ],
currency_pair: 'mona_jpy',
timestamp: '2015-04-04 16:04:14.000419' }```
Error Handling
--------------* simple error control
```
api.getInfo().catch(function(e){
console.log(e.message)
})
```* technical error control
```
var errors = require('zaif.jp/errors')
api.getInfo()
.catch(errors.HttpApiError, function (reason) {
// API ERROR
console.log(reason.message, "API", reason.error_code)
})
.catch(errors.StatusCodeError, function (reason) {
// HTTP STATUS ERROR(404 or 500, 502, etc...)
console.log("HTTP StatusCodeError " + reason.statusCode, "HTTP", reason.statusCode)
})
.catch(errors.RequestError, function (reason) {
// REQUEST ERROR(SYSTEMCALL, TIMEOUT)
console.log(reason.message, "SYSCALL", reason.error.code)
})
.catch(function(e){
// OTHER ERROR
console.log(e.message)
})
```Tuning Network Parameter
------------------------* Attention! Global Parameter
* Setting - KeepAlive Connection
* Setting - Timeout Second```
var zaif = require('zaif.jp');var appInitialize = function(){
zaif.Constant.OPT_KEEPALIVE = true;
zaif.Constant.OPT_TIMEOUT_SEC = 3;
}var main = function(){
appInitialize();
}main()
```License
-------MIT License
Affiliate
---------https://zaif.jp?ac=s72z4f8o9z
Donate
------
bitcoin:1DWLJFxmPQVSYER6pjwdaVHfJ98nM76LiN
monacoin:MCEp2NWSFc352uaDc6nQYv45qUChnKRsKK