Thomas Eizinger
7ec7188528
|
3 years ago | |
---|---|---|
.cargo | 3 years ago | |
.github | 3 years ago | |
daemon | 3 years ago | |
docs | 3 years ago | |
maker-frontend | 3 years ago | |
taker-frontend | 3 years ago | |
.dockerignore | 3 years ago | |
.gitignore | 3 years ago | |
Cargo.lock | 3 years ago | |
Cargo.toml | 3 years ago | |
Dockerfile | 3 years ago | |
README.md | 3 years ago | |
bors.toml | 3 years ago | |
clippy.toml | 3 years ago | |
dprint.json | 3 years ago | |
rust-toolchain.toml | 3 years ago | |
start_all.sh | 3 years ago |
README.md
Itchy Sats
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 maker-frontend; yarn install; cd../taker-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 separate react projects for hosting taker and maker frontends.
At the moment you will need a browser extension to allow CORS headers like CORS Everywhere
(Firefox Extension) to use the frontends.
Taker
cd taker-frontend
yarn install
yarn dev
Maker
cd maker-frontend
yarn install
yarn dev
Linting
To run eslint, use:
cd maker-frontend && yarn run eslint
cd taker-frontend && yarn run eslint