# 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 A working example of starting both daemons with all the required command-line parameters can be found [here](https://github.com/itchysats/itchysats/blob/master/start_all.sh#L8) The maker and taker frontend depend on the respective daemon running. ## Starting the maker and taker frontend We use a separate react projects for hosting taker and maker frontends. ### Building the frontends The latest version of the built frontends will be embedded by `cargo` inside their respective daemons and automatically served when the daemon starts. Embedded frontend is served on ports `8000` and `8001` by default. This means that it is highly recommended to build the frontend _before_ the daemons. #### Taker ```bash cd taker-frontend yarn install yarn build ``` #### Maker ```bash cd maker-frontend yarn install yarn build ``` ### Developing frontend code If hot-reloading of the app is required, frontend can be started in development mode. Development frontend is served on ports `3000` and `3001` by default. #### 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 ```