- connects to two exchanges' websocket feeds at the same time,
- pulls order books, using these streaming connections, for a given traded pair of currencies (configurable), from each exchange,
- merges and sorts the order books to create a combined order book,
- from the combined book, publishes the spread, top ten bids, and top ten asks, as a stream, through a gRPC server.
- Install cargo :
$ curl https://sh.rustup.rs -sSf | sh
- install cmake :
$ brew install cmake
$ git clone https://github.com/mberiane/Rust_Challenge.git
$ export SYMBOL="ethbtc"
$ export RUST_LOG=debug
Launch these two commands from two separate terminals
$ cargo run --bin orderbook-server
$ cargo run --bin orderbook-client