/serum-dex

Project Serum Rust monorepo.

Primary LanguageRustApache License 2.0Apache-2.0

serum-dex

Project Serum Rust Monorepo

Build Status Discord Chat License

Program Deployments

Program Devnet Mainnet Beta
DEX DESVgJVGajEgKGXhb6XmqDHGz3VjdgP7rEVESBgxmroY 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin

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.
  • pool: Serum pool protocol.
  • scripts: Bash scripts for development.