Giter Club home page Giter Club logo

aggr-server's Introduction

aggr-server

Autonomous multi market trades monitoring, storing and resampling solution.

How to install

  1. Clone the repo and get into the working dir
git clone https://github.com/Tucsky/aggr-server
cd aggr-server
  1. Install dependencies
npm install
  1. If you want to configure server using json, move exemple as "config.json" inside root directory and edit configuration.
cp config.json.example config.json
nano config.json
  1. Run server
node index

Configuration

All settings are optional and can be changed in the server configuration file (rename config.json.example into config.json).

// see [server configuration file](src/config.js) for all server options

All options can be set using CLI

  • Setting port node index port=3001
  • Setting port & pair node index port=3002 pairs="COINBASE:ETH-USD"
  • Setting port & multiple pairs node index port=3002 pair="COINBASE:ETH-USD,BINANCE:ethusdt"

You may use specific config file using the config argument :

node index config=custom.config.json

Working with clusters

When watching hundred of markets you may want to run multiple instances of this project.

This server is now designed to work with multiple collectors instances + one api node

  • A collector is dedicated to listening for trades and storing the data of a given set of markets (using influxDB)
  • A api node serves the data to the client, using influxDB as a main source but WILL query the collectors in order to ensure ALL data is send including the one NOT YET stored in influxdb

Say you have 2 config files using influx storage :

  • one for the api node (api set to true, collect set to false)
  • one for the collectors nodes (api false and collect true) Both with influxCollectors enabled

Then use with 1 api instance and 2 collectors

node index config=api.config.json
node index config=collector.config.json pairs="COINBASE:ETH-USD,BITSTAMP:ethusdt"
node index config=collector.config.json pairs="COINBASE:BTC-USD,BITSTAMP:btcusdt"

How to install: Docker

➜ docker-compose build
➜ docker-compose up -d

This will give you a running server on http://127.0.0.1:3000 with mounted ./data volume.

See ./env file for some basic configuration.

Watch logs using docker logs -f st-server.

Uncomment influx part in docker-compose.yml and set STORAGE=influx in .env to start using influxdb as a storage.

If you like what is being done here, consider supporting this project !

ETH 0xe3c893cdA4bB41fCF402726154FB4478Be2732CE
BTC 3PK1bBK8sG3zAjPBPD7g3PL14Ndux3zWEz
XMR 48NJj3RJDo33zMLaudQDdM8G6MfPrQbpeZU2YnRN2Ep6hbKyYRrS2ZSdiAKpkUXBcjD2pKiPqXtQmSZjZM7fC6YT6CMmoX6
COINBASE https://commerce.coinbase.com/checkout/c58bd003-5e47-4cfb-ae25-5292f0a0e1e8

aggr-server's People

Contributors

tucsky avatar tsanto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.