Thomas Eizinger
d9e631ac38
|
3 years ago | |
---|---|---|
.cargo | 3 years ago | |
.github | 3 years ago | |
cfd_protocol | 3 years ago | |
daemon | 3 years ago | |
docs | 3 years ago | |
frontend | 3 years ago | |
.gitignore | 3 years ago | |
Cargo.lock | 3 years ago | |
Cargo.toml | 3 years ago | |
README.md | 3 years ago | |
bors.toml | 3 years ago | |
dprint.json | 3 years ago | |
rust-toolchain.toml | 3 years ago | |
start_all.sh | 3 years ago |
README.md
Project Hermes
CFD trading on Bitcoin.
Details coming soon.
Quickstart
All the components can be started at once by running the following script:
./start_all.sh
The script combines the logs from all binaries inside a single terminal so it might not be ideal for all cases, but it is convenient for quick regression testing.
Pressing Ctrl + c
once stops all the processes.
The script also enables backtraces by setting RUST_BACKTRACE=1
env variable.
Starting the maker and taker daemon
The maker and taker frontend depend on the respective daemon running.
At the moment the maker daemon has to be started first:
cargo run --bin maker
Once the maker is started you can start the taker:
cargo run --bin taker
Upon startup the taker daemon will connect to the (hardcoded) maker and retrieve the current order.
Note: The sqlite databases for maker and taker are currently created in the project root.
Starting the maker and taker frontend
We use a single react project for hosting both the taker and the maker frontends.
However, the development environment still needs to be start twice!
Which frontend to start is configured via the APP
environment variable.
cd frontend;
APP=taker yarn dev
APP=maker yarn dev
Bundling the web frontend and serving it from the respective daemon is yet to be configured.
At the moment you will need a browser extension to allow CORS headers like CORS Everywhere
(Firefox Extension) to use the frontends.
Linting
To run eslint, use:
cd frontend && yarn run eslint