https://github.com/ivoputzer/coinbase-pro-feed
Lightweight Coinbase Pro Websocket Feed implementation wirtten in es6+
https://github.com/ivoputzer/coinbase-pro-feed
coinbase coinbase-pro coinbase-pro-feed websocket ws
Last synced: 10 months ago
JSON representation
Lightweight Coinbase Pro Websocket Feed implementation wirtten in es6+
- Host: GitHub
- URL: https://github.com/ivoputzer/coinbase-pro-feed
- Owner: ivoputzer
- Created: 2018-12-10T13:30:19.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-03-12T18:00:41.000Z (over 6 years ago)
- Last Synced: 2025-07-27T16:39:45.304Z (11 months ago)
- Topics: coinbase, coinbase-pro, coinbase-pro-feed, websocket, ws
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/coinbase-pro-feed
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
coinbase-pro-feed
===
Lightweight [Coinbase Pro Websocket Feed](https://docs.pro.coinbase.com/#websocket-feed) implementation.
[](https://travis-ci.org/ivoputzer/coinbase-pro-feed)
[](https://www.npmjs.com/package/coinbase-pro-feed?activeTab=dependencies)
[](https://coveralls.io/github/ivoputzer/coinbase-pro-feed?branch=master)
[](http://standardjs.com/)
[](https://nodejs.org/docs/v6.0.0/api)
[](https://www.npmjs.com/package/coinbase-pro-feed)
[](https://spdx.org/licenses/MIT)
[](https://bundlephobia.com/scan-results?packages=coinbase-pro-feed)
[](https://www.npmjs.com/package/coinbase-pro-feed)
## Install
```js
npm install -s coinbase-pro-feed
```
## .feedFor(product_ids[, options[, env]])
The feed wraps websocket client using `stream.Readable`:
```js
const { feedFor } = require('coinbase-pro-feed')
feedFor(['btc-eur'], { objectMode: false }) // when false
.pipe(process.stdout) // data event invokes raw buffer
feedFor(['btc-eur'], { objectMode: true }) // when true
.on('data', console.log) // data event invokes parsed object
```
- **product_ids** (default: `[]`)
- **options** (default: `{ objectMode = true, channels: ['full'] }`)
- **env** (default: `process.env`)
### .socketFor(product_ids[, options[, env]])
The websocket client allows you to connect and listen to exchange messages.
```js
const { feedFor } = require('coinbase-pro-feed')
socketFor(['btc-eur'], { channels })
.on('open', () => {
console.log('open') // socket connected
})
.on('data' (data) => {
console.log('data:', data) // parsed messages
})
.on('error', (err) => {
console.error('error:', err) // socket error
})
.on('close', () => {
console.log('close') // socket closed
})
```
## Command Line Interface (CLI)
When installed globally it is possibile to access the command line interface:
```shell
npm install --global coinbase-pro-feed
```
#### Usage
```shell
coinbase-pro-feed btc-eur eth-eur ltc-eur
# stdout compatible with http://jsonlines.org
```