alexxuyang / substrate-dex

substrate dex poc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

substrate dex poc

License:MIT License


Languages

Language:Rust 99.7%Language:Shell 0.3%