bittrex-orderbook-manager v0.9.7
Bittrex Orderbook Manager
Requirements
This package requires Node.js 6.0.x+
Installation
You can install the package via npm:
$ npm install --save bittrex-orderbook-manageror via yarn:
$ yarn add bittrex-orderbook-managerDocumentation
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()
})Events
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'))BittrexClient
Events related to signalR client
boundconnectFailed(err)connected(connection)connectionLost(err)disconnectederror(err)bindingError(err)unauthorized(res)reconnected(connection)reconnecting(retry)
Market-related events
summary(payload)- emits when client receives market summary state updates;orderBookUpdate(marketName, payload)- emits when any registered orderbook being updated.
BittrexOrderBook
started- emits when orderbook was loaded & started receiving updates;error(err)- emits when something goes wrong;update(payload)- emits on each update from market.
OrderBooksCollection
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;
Change log
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email zurbaev@gmail.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.