You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Thomas Eizinger d9e631ac38
Fix startup script
3 years ago
.cargo Build CI for armv7 3 years ago
.github Allow application to run on mainnet or testnet 3 years ago
cfd_protocol Fix example fn doc in protocol tests 3 years ago
daemon Merge #270 3 years ago
docs Sequence diagram blockchain monitoring and cfd actor 3 years ago
frontend Merge #211 3 years ago
.gitignore Allow application to run on mainnet or testnet 3 years ago
Cargo.lock Bump thiserror from 1.0.29 to 1.0.30 3 years ago
Cargo.toml Use latest github snapshot of xtra 3 years ago
README.md Configure bors for merging pull-requests 3 years ago
bors.toml Configure bors for merging pull-requests 3 years ago
dprint.json Have dprint format TypeScript and JavaScript files 3 years ago
rust-toolchain.toml Build CI for armv7 3 years ago
start_all.sh Fix startup script 3 years ago

README.md

Project Hermes

Bors enabled

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