goxstream
v0.1.1
Published
A node.js readable stream for mtgox. Uses raw websocket!
Downloads
3
Readme
goxstream
A node.js readable stream for mtgox, based on ws. Reports ticker, depth, trade and lag data in real time. Supports the bitcoin (BTC) channels from this list. Namecoin (NMC) and litecoin (LTC) are currently not traded on MtGox but might be in a near future.
API
goxstream.createStream([opts])
Creates and returns a readable object stream. The options argument configures what type of data you are interested and have the following properties:
- currency
(string)
E.g'USD'
,'EUR'
etc. Default is'USD'
. - ticker
(Boolean)
Stream ticker data. Default istrue
. - depth
(Boolean)
Stream depth data, i.e. buys and sells on the market. Default isfalse
. - trade
(Boolean)
Stream trade data, i.e. actual transactions between buyers and sellers. Default isfalse
. - lag
(Boolean)
Stream lag data. Default isfalse
. - restart_interval
(Number)
Time interval in ms. Restart stream after no new data delay. Default is30000
.
goxstream.currencies()
Returns an array of currencies that are available on MtGox.
Examples
Pipe 'USD'
ticker data to stdout:
var gox = require('goxstream')
gox.createStream().pipe(process.stdout)
Pipe 'EUR'
depth data to file:
var gox = require('goxstream')
var fs = require('fs')
var options = { currency: 'EUR', ticker: false, depth: true }
gox.createStream(options).pipe(fs.createWriteStream('./EUR'))
Install
npm install goxstream
JSON Format
Here's a brief summary on the different json blobs.
ticker object
All objects under 'ticker'
have the same properties as 'high'
, e.g. 'value'
, 'value_int'
etc
{
"channel": "d5f06780-30a8-4a48-a2f8-7ed181b4a13f"
, "channel_name": "ticker.BTCUSD"
, "op": "private"
, "origin": "broadcast"
, "private": "ticker"
, "ticker": {
"high": {
"value": "115.84000"
, "value_int": "11584000"
, "display": "$115.84000"
, "display_short": "$115.84"
, "currency": "USD"
}
, "low": {}
, "avg": {}
, "vwap": {}
, "vol": {}
, "last_local": {}
, "last_orig": {}
, "last_all": {}
, "last": {}
, "buy": {}
, "sell": {}
, "item": "BTC"
, "now": "1368096380598414"
}
}
depth object
{
"channel": "24e67e0d-1cad-4cc0-9e7a-f8523ef460fe"
, "channel_name": "depth.BTCUSD"
, "op": "private"
, "origin": "broadcast"
, "private": "depth"
, "depth": {
"price": "92"
, "type": 2
, "type_str": "bid"
, "volume": "14.28693815"
, "price_int": "9200000"
, "volume_int": "1428693815"
, "item": "BTC"
, "currency": "USD"
, "now": "1368097807984368"
, "total_volume_int": "84559126689"
}
}
trade object
{
"channel": "dbf1dee9-4f2e-4a08-8cb7-748919a71b21"
, "channel_name": "trade.BTC"
, "op": "private"
, "origin": "broadcast"
, "private": "trade"
, "trade": {
"type": "trade"
, "date": 1368098037
, "amount": 1.86011338
, "price": 111.09999
, "tid": "1368098037413285"
, "amount_int": "186011338"
, "price_int": "11109999"
, "item": "BTC"
, "price_currency": "USD"
, "trade_type": "bid"
, "primary": "Y"
, "properties": "market"
}
}
lag object
{
"channel": "85174711-be64-4de1-b783-0628995d7914"
, "channel_name": "trade.lag"
, "op": "private"
, "origin": "broadcast"
, "private": "lag"
, "lag": {
"qid": "26dc2324-e790-47e8-aef7-e0a1f0633589"
, "stamp": "1368098833428529"
, "age":47058
}
}
License
MIT