This package requires Node.js 6.0.x+
You can install the package via npm:
$ npm install --save bittrex-orderbook-manager
or via yarn:
$ yarn add bittrex-orderbook-manager
This package provides ability to track orderbooks updates from bittrex.com market.
All you need is to import bittrex-orderbook-manager
, create new instance, add event listeners & start connection.
This example shows how to connect to the market & create orderbooks for all currencies available:
const BittrexClient = require('bittrex-orderbook-manager')
const bittrex = new BittrexClient()
bittrex.connect()
.then(client => console.log('Client created'))
.catch(err => console.error('Error', err))
bittrex.on('connected', () => {
const collection = bittrex.orderBooksCollection()
collection.on('ready', () => {
console.log(`${collection.count()} orderbooks are ready`)
// Now you can access any orderbook via collection.orderBooks object.
// Please note, that all orderbooks are auto-updated.
const btcNxt = collection.orderBooks['BTC-NXT']
btcNxt.on('update', () => {
const volumes = {
asks: {
inBtc: btcNxt.btcAsksVolume(),
inNxt: btcNxt.asksVolume(),
},
bids: {
inBtc: btcNxt.btcBidsVolume(),
inNxt: btcNxt.bidsVolume(),
}
}
console.log('BTC-NXT was updated, new volumes are: ', volumes)
})
})
collection.start()
})
This example shows how to create orderbook for single currency:
const BittrexClient = require('bittrex-orderbook-manager')
const bittrex = new BittrexClient()
bittrex.connect()
.then(client => console.log('Client created'))
.catch(err => console.error('Error', err))
bittrex.on('connected', () => {
const orderBook = bittrex.orderBook('BTC-NXT')
orderBook.on('started', () => console.log('BTC-NXT orderbook was started!'))
orderBook.on('update', () => {
const volumes = {
asks: {
inBtc: btcNxt.btcAsksVolume(),
inNxt: btcNxt.asksVolume(),
},
bids: {
inBtc: btcNxt.btcBidsVolume(),
inNxt: btcNxt.bidsVolume(),
}
}
console.log('BTC-NXT was updated, new volumes are: ', volumes)
})
orderBook.start()
})
All classes in this package are extended from EventEmitter
and emits several events you might want to subscribe to.
Call obj.on(event, handler)
to subscribe to any event listed below:
bittrex.on('connectionLost', err => console.error(`Connection lost!`, err))
bittrex.on('reconnected', connection => console.log(`Socket reconnected!`, connection))
orderBook.on('started', () => console.log('Orderbook started'))
orderBooksCollection.on('ready' => console.log('Orderbooks collection is ready'))
bound
connectFailed(err)
connected(connection)
connectionLost(err)
disconnected
error(err)
bindingError(err)
unauthorized(res)
reconnected(connection)
reconnecting(retry)
summary(payload)
- emits when client receives market summary state updates;orderBookUpdate(marketName, payload)
- emits when any registered orderbook being updated.started
- emits when orderbook was loaded & started receiving updates;error(err)
- emits when something goes wrong;update(payload)
- emits on each update from market.orderBookStarted(orderbook, readyCount)
- emits when single orderbook was started. readyCount - total count of registered & ready orderbooks in current collection;ready
- emits when all orderbooks were started & receiving updates;error(err)
- emits when something goes wrong;Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email zurbaev@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.