Skip to content

mountain720/serum-dex

 
 

Repository files navigation

serum-dex

Project Serum Rust Monorepo

Build Status Discord Chat License

Program Deployments

Program Devnet Mainnet Beta
DEX 9MVDeYQnJmN2Dt7H44Z8cob4bET2ysdNu2uFJcatDJno EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o
Registry CKKz2WYvneiLb2mzouWc4iPpKisuXs5XKYn7ZUrRjkeK 6J7ZoSxtKJUjVLpGRcBrEtvE2T3YVf9mfKUaicndzpCc
Lockup 8wreDpv5nuY1gee1X4wkqtRkzoGypVYzWBrMmzipAJKN 4nvqpaMz7H12VgHSABjEDFmH62MoWP3BxfMG3BAFQiBo
Crank Rewards 7sXyzeu6GJqkXZz8VhjdsXvDg1xR1PEkXbbDaxMc186C 4bcHoAgLP9NBje1oVo9WKRDYkvSxcqtJeTSXMRFX5AdZ

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.

About

Project Serum Rust monorepo.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 97.7%
  • Shell 1.5%
  • Other 0.8%