Skip to content

Prerequisites

Building or developing on base/base requires Rust, Just, Foundry, a C/C++ toolchain, and optionally Docker. Instructions below target Linux (Debian/Ubuntu); macOS users can substitute brew install where applicable.

The project requires Rust 1.88 or later. The recommended way to install and manage Rust toolchains is through rustup:

Terminal window
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Follow the on-screen prompts and then reload your shell:

Terminal window
source "$HOME/.cargo/env"

Verify the installed version:

Terminal window
rustc --version
# rustc 1.88.0 (or later)

If you already have Rust installed, make sure it is up to date:

Terminal window
rustup update

Just is a command runner used throughout the project for build, test, and devnet workflows. Install it with one of:

Terminal window
# Using cargo (works everywhere Rust is installed)
cargo install just
# Debian/Ubuntu
sudo apt install just
# macOS (Homebrew)
brew install just

Confirm the installation:

Terminal window
just --version

Foundry is required for compiling the Solidity test contracts used by several crates. Install via the official installer:

Terminal window
curl -L https://foundry.paradigm.xyz | bash

Then run:

Terminal window
foundryup

This gives you forge, cast, anvil, and chisel. Verify with:

Terminal window
forge --version

A standard C/C++ toolchain and a few system libraries are needed to compile native dependencies:

Terminal window
# Debian / Ubuntu
sudo apt update
sudo apt install -y git libclang-dev pkg-config curl build-essential
Terminal window
# macOS (Xcode Command Line Tools provide clang and related headers)
xcode-select --install
brew install pkg-config

Docker is only required if you plan to build container images or run the local devnet. Install Docker Engine by following the official instructions for your platform, or on Ubuntu:

Terminal window
sudo apt install -y docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker "$USER"

Log out and back in for the group change to take effect, then verify:

Terminal window
docker --version
docker compose version

The devnet uses Docker Compose (the docker compose plugin, not the legacy docker-compose binary).

Once everything is installed, you can run a quick sanity check from the repository root:

Terminal window
rustc --version && cargo --version && just --version && forge --version && git --version

All five commands should succeed and print version information. With these prerequisites in place, proceed to Building from Source.