# Itchy Sats
[![Bors enabled ](https://bors.tech/images/badge_small.svg )](https://app.bors.tech/repositories/39253)
CFD trading on Bitcoin.
Details coming soon.
## Quickstart
All the components can be started at once by running the following script:
```bash
./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:
```bash
cargo run --bin maker
```
Once the maker is started you can start the taker:
```bash
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](https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/)) to use the frontends.
### Taker
```bash
cd taker-frontend
yarn install
yarn dev
```
### Maker
```bash
cd maker-frontend
yarn install
yarn dev
```
### Linting
To run eslint, use:
```bash
cd maker-frontend & & yarn run eslint
cd taker-frontend & & yarn run eslint
```