Dex demo build by substrate
This is a decentralized exchange (DEX) build by substrate.
WARNING This project is just for demo/poc/self-learning. The author does not guarantee any availability or stability. And we DO NOT suggest use it in any production environment.
Any questions, feel free to post an issue.
Please refer to the wiki for the detail information. (Continuously updated)
Build
Install Rust:
curl https://sh.rustup.rs -sSf | sh
Install required tools:
./scripts/init.sh
Build Wasm and native code:
cargo build
Run
Single node development chain
You can start a development chain with:
cargo run -- --dev
Detailed logs may be shown by running the node with the following environment variables set: RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev
.
Play with the dex
Please refer the client/transactions-api to see how to play with the dex chain. You can:
- issue the token
- transfer the token
- create the trade pair
- create the limit order
- cancel the limit order
Also, you can play with it by polkadotjs wallet frontend with:
git clone https://github.com/polkadot-js/apps
cd apps
yarn
yarn start
Then open the link http://localhost:3000/#/?rpc=ws://127.0.0.1:9944
How to test
Test all the test cases by:
cargo test -p substrate-dex-runtime -- --test-threads=1 --nocapture
Or you can just run one of the test cases by:
cargo test [TEST_CASE_NAME] -p substrate-dex-runtime -- --test-threads=1 --nocapture
About next step
- Will provide a full-feature dex front-end build with polkadotjs
- Will upgrade to substrate 2.0 whenever it released