Skip to content

Latest commit

 

History

History
91 lines (64 loc) · 1.59 KB

Getting Started.md

File metadata and controls

91 lines (64 loc) · 1.59 KB

Getting Started

Dependencies

Ubuntu
sudo apt-get install -y build-essential clang-11 pkg-config cmake git curl protobuf-compiler

Install rustup

Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
macOS
brew install rustup

Install Rust

rustup update
rustup toolchain install stable
rustup target add wasm32-unknown-unknown
rustup toolchain install nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

Install Solidity

cargo install svm-rs
svm install 0.8.25
svm use 0.8.25

Install Solidity Compiler Version Manager

cargo install svm-rs
svm install 0.8.25
svm use 0.8.25

Install foundry (for tests)

cargo install --git https://github.com/foundry-rs/foundry --profile local --locked forge cast chisel anvil

Clone and Build Serai

git clone https://github.com/serai-dex/serai
cd serai
cargo build --release --all-features

Run Tests

Running tests requires:

  • A rootless Docker setup
  • A properly configured Bitcoin regtest node (available via Docker)
  • A properly configured Monero regtest node (available via Docker)
  • A properly configured monero-wallet-rpc instance (available via Docker)

To start the required daemons, one may run:

cargo run -p serai-orchestrator -- key_gen dev
cargo run -p serai-orchestrator -- setup dev

and then:

cargo run -p serai-orchestrator -- start dev bitcoin-daemon monero-daemon monero-wallet-rpc

Finally, to run the tests:

cargo test --all-features