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] 61c7bcbb32
Merge #967
3 years ago
.cargo Introduce cargo aliases for running maker and taker in dev mode 3 years ago
.github Bump docker/login-action from 1.10.0 to 1.11.0 3 years ago
daemon Rename `process_manager_address` to `process_manager` 3 years ago
docs Introduce event-sourcing 3 years ago
maker-frontend Introduce event-sourcing 3 years ago
taker-frontend Introduce event-sourcing 3 years ago
testnet Move testnet seeds to `testnet` directory 3 years ago
.dockerignore Provide dockerfile and build during release 3 years ago
.gitignore Move testnet seeds to `testnet` directory 3 years ago
CHANGELOG.md Introduce perpetual CFDs by rolling them over automatically 3 years ago
Cargo.lock Bump futures from 0.3.18 to 0.3.19 3 years ago
Cargo.toml Allow maker to control lock and commit transaction fee rate 3 years ago
Dockerfile Dockerfile changes 3 years ago
README.md Add info about using the embedded frontend into the README 3 years ago
bors.toml Armv7 is totally outdated 3 years ago
clippy.toml Ban use of `do_send` function via clippy 3 years ago
dprint.json Switch to `import_granularity: item` 3 years ago
rust-toolchain.toml Upgrade to Rust 1.57 3 years ago
start_all.sh Introduce cargo aliases for running maker and taker in dev mode 3 years ago

README.md

Itchy Sats

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

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

cd taker-frontend
yarn install
yarn build

Maker

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

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