sudo apt-get install -y build-essential clang-11 pkg-config cmake git curl protobuf-compiler
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
brew install rustup
rustup update
rustup toolchain install stable
rustup target add wasm32-unknown-unknown
rustup toolchain install nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
cargo install svm-rs
svm install 0.8.25
svm use 0.8.25
cargo install svm-rs
svm install 0.8.25
svm use 0.8.25
cargo install --git https://github.com/foundry-rs/foundry --profile local --locked forge cast chisel anvil
git clone https://github.com/serai-dex/serai
cd serai
cargo build --release --all-features
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