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.
 
 
Lucas Soriano del Pino fdd41c9c37
Use new generate_payouts API
3 years ago
.cargo Build CI for armv7 3 years ago
.github Run CI on windows 3 years ago
cfd_protocol Merge pull request #181 from comit-network/dummy-payouts 3 years ago
daemon Use new generate_payouts API 3 years ago
docs Sequence diagram blockchain monitoring and cfd actor 3 years ago
frontend Merge pull request #212 from comit-network/row-expand-change 3 years ago
.gitignore Use sqlite for BDK's database 3 years ago
Cargo.lock Bump sqlx from 0.5.7 to 0.5.9 3 years ago
Cargo.toml Use latest github snapshot of xtra 3 years ago
README.md Mention start_all.sh script in the README 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 Enable backtraces in 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