Skip to content
This repository has been archived by the owner on Sep 20, 2019. It is now read-only.

DexyProject/dexy-go

Repository files navigation

DEXY Go

Build Status

Open source orderbook code for the DEXY exchange. The code contains basic orderbook functionality as well as various chain watching code which ensures the orderbook stays up to date. Additionally this repository also contains APIs for the various endpoints required for the exchange, this includes price tickers as well as trading history.

Documentation

The dexy go server is made up of several components.

Setting up the database

mongo < /configs/mongo_indexes.js

API

This command is used to run the rest API. This includes all endpoints documented here.

Usage of main.go
  -ethnode string
    	ethereum node address
  -mongo string
    	mongodb connection string
  -vault string
    	vault address

Trade Watcher

This command is responsible for monitoring and indexing trades, this will update the orderbook as well as insert transactions into the history.

Usage of main.go
  -addr string
    	exchange address
  -ethnode string
    	ethereum node address
  -mongo string
    	mongodb connection string

Cancelled Watcher

This command is responsible for monitoring which orders have been cancelled, these will then be removed from the orderbook.

Usage of main.go
  -addr string
    	exchange address
  -ethnode string
    	ethereum node address
  -mongo string
    	mongodb connection string

Ticker worker

This command monitors the blocks, and generates new ticks for every block.

Usage of main.go
  -ethnode string
    	ethereum node address
  -mongo string
    	mongodb connection string

Markets worker

This command monitors the blocks, and generates new market statistics for every block.

Usage of main.go
  -ethnode string
    	ethereum node address
  -mongo string
    	mongodb connection string
  -path string
    	path to tokens file

Balance Watcher

This command is responsible for monitoring balances, to ensure no underfunded orders are present in the orderbook.

Usage of main.go
  -addr string
    	vault address
  -ethnode string
    	ethereum node address
  -mongo string
    	mongodb connection string

Authors

See also the list of contributors who participated in this project.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details