Go to file
Armani Ferrante a51d6e8d65
Add account creation to node setup tutorial (#78)
2020-12-27 12:29:03 -08:00
assert-owner assert-owner: Cargo fmt to fix build 2020-10-26 09:50:38 -07:00
cli Monorepo organization (#73) 2020-12-27 09:47:31 -08:00
common Remove unused message-queue ring. (#71) 2020-12-20 14:25:46 -08:00
context Add account creation to node setup tutorial (#78) 2020-12-27 12:29:03 -08:00
dex Add account creation to node setup tutorial (#78) 2020-12-27 12:29:03 -08:00
docker Run wholeshebang in CI 2020-09-19 13:08:24 -07:00
docs Add account creation to node setup tutorial (#78) 2020-12-27 12:29:03 -08:00
lockup Fix README links 2020-12-27 10:05:02 -08:00
pool pool: Update fee account 2020-12-14 07:07:48 +08:00
registry Add account creation to node setup tutorial (#78) 2020-12-27 12:29:03 -08:00
scripts Add account creation to node setup tutorial (#78) 2020-12-27 12:29:03 -08:00
solana-client-gen registry: Add rewards q cursor safety check (#69) 2020-12-19 16:47:13 -08:00
.gitignore Monorepo organization (#73) 2020-12-27 09:47:31 -08:00
.travis.yml Crank rewards program (#56) 2020-12-11 11:50:01 -08:00
Cargo.lock Add account creation to node setup tutorial (#78) 2020-12-27 12:29:03 -08:00
Cargo.toml Monorepo organization (#73) 2020-12-27 09:47:31 -08:00
LICENSE Add license (#18) 2020-10-03 10:33:06 -07:00
Makefile Monorepo organization (#73) 2020-12-27 09:47:31 -08:00
README.md Fix README links 2020-12-27 10:05:02 -08:00
bpf-sdk-install.sh Pool wip (#48) 2020-11-24 00:29:28 -08:00
do.sh Pool wip (#48) 2020-11-24 00:29:28 -08:00

README.md

serum-dex

Project Serum Rust Monorepo

Build Status Discord Chat License

Website | Academy | Awesome | DEX | TypeScript

Program Deployments

Program Devnet Mainnet Beta
DEX F9b23Ph1JdBev2fULXTZLzaxVh2nYVdMVq9CTEaEZrid EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o
Registry FigXetJcXogqm94qfmyKWy6U5KJAwtxSgJMjUHercVQp Gw1XNGbSnx7PJcHTTuxxhWfkjjPmq29Qkv1hWbVFnrDp
Lockup CiNaYvdnQ42BNdbKvvAapHxiP18pvc3Vk5WuZ59ia64x 6GSn1woRF541HaiEWqNofYn8quzJuRBPi1nwoho8zNnh
Crank Rewards EXzpf5GBfUQkwLeLEJXLmVKxGpxyMQWxpudYxogW4ad8 8xYo1X6uw7SBngXgPzib8jghWb8BhiiVxv5yV799Tw3G

Note

  • Serum is in active development so all APIs and protocols are subject to change.
  • The code is unaudited. Use at your own risk.

Contributing

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup component add rustfmt

On Linux systems you may need to install additional dependencies. On Ubuntu,

sudo apt-get install -y pkg-config build-essential python3-pip jq

Install Solana

curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v1.4.14/install/solana-install-init.sh | sh -s - v1.4.14
export PATH="/home/ubuntu/.local/share/solana/install/active_release/bin:$PATH"

Download the source

git clone https://github.com/project-serum/serum-dex.git

Install the BPF SDK

./do.sh update

Build, deploy, and test programs

See individual crates for documentation. For example, to build the dex see its README.

Running a local Solana cluster

The easiest way to run a local cluster is to run the docker container provided by Solana. Instructions can be found here. For local development, however, it's often convenient to build and run a validator from source.

Directories

  • assert-owner: Solana utility program for checking account ownership.
  • cli: Serum command line interface.
  • common: Common rust utilities.
  • context: Global environment used by Serum crates, read from a configuration file.
  • dex: Serum DEX program and client utility.
  • docker: Docker image definitions.
  • lockup: Serum Lockup program and clients.
  • pool: Serum pool protocol.
  • registry: Serum staking registry and client.
  • scripts: Bash scripts for development.
  • solana-client-gen: Proc macro for generating Rust clients from instruction definitions.