0.9.7 • Published 6 years ago

bittrex-orderbook-manager v0.9.7

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

Bittrex Orderbook Manager

Software License

Requirements

This package requires Node.js 6.0.x+

Installation

You can install the package via npm:

$ npm install --save bittrex-orderbook-manager

or via yarn:

$ yarn add bittrex-orderbook-manager

Documentation

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
  • bound
  • connectFailed(err)
  • connected(connection)
  • connectionLost(err)
  • disconnected
  • error(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.

0.9.7

6 years ago

0.9.6

7 years ago

0.9.5

7 years ago

0.9.4

7 years ago

0.9.3

7 years ago

0.9.2

7 years ago

0.9.1

7 years ago

0.9.0

7 years ago