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)
Install Rust:
curl https://sh.rustup.rs -sSf | sh
Install required tools:
./scripts/init.sh
Build Wasm and native code:
cargo build
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
.
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
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
- Will provide a full-feature dex front-end build with polkadotjs
- Will upgrade to substrate 2.0 whenever it released