mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-23 12:09:37 +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
93 lines
1.8 KiB
Markdown
93 lines
1.8 KiB
Markdown
# 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](https://docs.docker.com/engine/security/rootless/)
|
|
- 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.
|
|
|
|
[Run Serai with Docker Compose](../orchestration/README.md)
|
|
|
|
[Run Serai with Kubernetes](../orchestration/kubernetes/README.md)
|