mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-22 19:49:22 +00:00
351436a258
* De-duplicate Dockerfiles by using a bash file to concatenate common parts Resolves #375. Dockerfiles are still committed to the repo to avoid a dependency on bash. * Add a CI job to confirm the committed dockerfiles are the currently generated ones * Create dedicated Dockerfiles per processor network Ensures the compromising of network-specific dependencies doesn't lead to a compromise of the build process for all processors. * Dockerfile corrections * Correct call to build processor Docker image in tests/processor
1.8 KiB
1.8 KiB
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.16
svm use 0.8.16
Install Solidity Compiler Version Manager
cargo install svm-rs
svm install 0.8.16
svm use 0.8.16
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
- A debug Serai node (
cd substrate/node && cargo build
)
cargo test --all-features
Run Serai in Development Mode
./target/release/serai-node --dev
Run Serai with Orchestration
Under /orchestration
, you can find our orchestration components for running
the entire infrastructure of Serai in a local environment using Docker Compose
or Kubernetes.