mirror of
https://github.com/serai-dex/serai.git
synced 2024-11-17 01:17:36 +00:00
a0a2ef22e4
ethers-solc was used for a type (now manually specified) and to call out to solc. Since Foundry was already a documented dependency, a call to it now handles building. Removing this single crate removes a total of 17 crates from our dependency tree. While these may still be around due to Foundry, they at least may not be. Further work to remove the requirement on Foundry for solc alone would be appreciated.
1.8 KiB
1.8 KiB
Getting Started
Dependencies
Ubuntu
sudo apt-get install -y build-essential cmake clang-11 git curl python3-pip protobuf-compiler libssl-dev pkg-config
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 and anvil
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.