Skip to content

An open source JavaScript library for fetching tickers from cryptocurrency exchanges

License

Notifications You must be signed in to change notification settings

coinranking/exchanges

Repository files navigation

code-style Commitizen friendly npm (scoped) codecov

Exchanges πŸ“‰πŸ“ˆ

A JavaScript library for getting up to date cryptocurrency exchange tickers.

Getting started

  1. Node.js 14.0 or higher is required
  2. Install using NPM

Installation

Coinranking Exchanges is a Node.js module available through the npm registry.

Before installing, download and install Node.js. Node.js 14.0 or higher is required.

Installation is done using the npm install command:

npm i @coinranking/exchanges

Usage

List all supported drivers

const exchanges = require('@coinranking/exchanges');

console.log(exchanges.list());

Get the tickers of a specific exchange

const { Binance } = require('@coinranking/exchanges');

const driver = new Binance();

driver
  .fetchTickers()
  .then((tickers) => {
    console.log(tickers);
  });

Development

Getting started

Install dependencies

npm install

Usage

List all supported drivers

node lib/cli.js list

Get the tickers of a specific exchange

node lib/cli.js tickers [name of the exchange]
Flags
Name Flag Description
Record -R, --record Record the requests, and save them as fixtures.
API Key -k, --key For passing down an API key when the driver requires one. When used in combination with the -R flag the key will be masked in the fixtures.

Documentation

See the documentation for more information.

Contributing

Bug reports and pull requests are welcome. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Adding an exchange

  1. Add a new driver (see the examples)
  2. Add the driver alphabetically to drivers/index.js
  3. Add a new fixture (use the record option of the CLI 'tickers' command)

Single API calls are highly preferred. When adding an exchange be aware of the base and quote. A driver should at least support base, quote, close and baseVolume or quoteVolume. And optionally open, high, low, ask, bid, baseName, baseReference, quoteName and quoteReference.

Listing requirements

Before we approve your pull request, we’d like to review the exchange and check if it meets our listing requirements.

Ticking off all the boxes? Cool! Send us your listing request at info@coinranking.com and include your daily trading volume + a link to your platform. We will then review your exchange ASAP.

Examples

  • Driver basis: Shows the basic setup of a driver, which can be used as the starting point for new ones.
  • Driver with API key: Shows how to set up a driver that uses an API which requires a key.

Conventions

  1. Airbnb JavaScript Style Guide
  2. Conventional commits

Links

Reach out to us

Other

License

MIT