DEXY Go
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.
The API documentation can be found under the docs directory.
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