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.
 
 
bors[bot] 02a8c7ce03
Merge #487
3 years ago
.cargo Build for aarch64 which is needed for RPi4 3 years ago
.github Merge #472 #474 3 years ago
cfd_protocol Bump bdk from 0.12.0 to 0.13.0 3 years ago
daemon Merge #487 3 years ago
docs CFD state machine as of version `0.1.1` 3 years ago
frontend Display connection errors to the daemon in the UI 3 years ago
xtra_productivity Macro attribute so we can control impl of `xtra::Message` 3 years ago
.dockerignore Provide dockerfile and build during release 3 years ago
.gitignore Replacement of structs with public data to ones with private data 3 years ago
Cargo.lock Bump vergen from 5.1.16 to 5.1.17 3 years ago
Cargo.toml Proc-macro to optimise xtra `Handler` and `Message` impls 3 years ago
Dockerfile Fix docker image build 3 years ago
README.md Update README.md 3 years ago
bors.toml Update bors file to include new ci targets 3 years ago
dprint.json Have dprint format TypeScript and JavaScript files 3 years ago
rust-toolchain.toml Build for aarch64 which is needed for RPi4 3 years ago
start_all.sh Authenticate connection with maker 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

Note: Before first run, you need to run cd frontend; yarn install command to ensure that all dependencies get installed.

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
yarn install
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