Installation
Complete installation guide for Orbinum node, including prerequisites, dependencies, and circuit artifacts.
System Requirements
Hardware
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 8+ cores |
| RAM | 4 GB | 8+ GB |
| Storage | 20 GB SSD | 50+ GB NVMe |
| OS | Linux, macOS, WSL2 | Ubuntu 22.04 |
Software Dependencies
| Tool | Version | Purpose |
|---|---|---|
| Rust | 1.81+ | Substrate compiler |
| Git | 2.x | Version control |
| Clang/LLVM | 14+ | WASM compilation |
| CMake | 3.x | Build system |
| OpenSSL | 1.1+ | Cryptographic functions |
Installation Steps
1. Install Rust Toolchain
Install Rust using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
Verify installation:
rustc --version # Should show 1.81+
cargo --version
The project includes rust-toolchain.toml that automatically configures the correct toolchain and wasm32-unknown-unknown target.
2. Clone Repository
git clone https://github.com/orbinum/node.git orbinum-node
cd orbinum-node
Repository structure:
orbinum-node/
├── Cargo.toml # Workspace configuration
├── Makefile # Build commands
├── rust-toolchain.toml # Rust toolchain
├── artifacts/ # Circuit artifacts (*.wasm, *.ark, *.zkey)
├── client/ # Node client & RPC
├── frame/ # Pallets (shielded-pool, zk-verifier, evm, etc.)
├── primitives/ # Core libraries (zk-core, zk-circuits, etc.)
├── precompiles/ # EVM precompiles
├── scripts/ # Build & setup scripts
└── template/ # Node & runtime templates
3. Download Circuit Artifacts
ZK circuits (disclosure, transfer, unshield) are hosted in a separate repository and distributed as precompiled artifacts.
Download artifacts:
./scripts/sync-circuit-artifacts.sh v0.1.0
This script:
- Downloads
orbinum-circuits-v0.1.0.tar.gzfrom circuits/releases - Extracts artifacts to
artifacts/(.wasm,.ark,.zkey, verification keys) - Generates Rust files for verification keys in
primitives/zk-verifier/src/vk/
The node reads circuits as bytes from artifacts/. You don't need to compile circuits manually or install Node.js/Circom.
4. Setup Development Tools
Install additional tooling (taplo for TOML formatting):
make setup
5. Build the Node
Build in release mode (optimized):
cargo build --release
Or using Makefile:
make build-release
Estimated time: 15-30 minutes on first compilation.
Resulting binary:
target/release/orbinum-node
Verification
Check Binary Version
./target/release/orbinum-node --version
Run Tests (Optional)
cargo test --workspace --lib
Quick Smoke Test
./target/release/orbinum-node --dev --tmp
If you see blocks being produced (🏁 Block #1, 🏁 Block #2), installation is correct.
Stop the node with: Ctrl+C
Platform-Specific Setup
Ubuntu/Debian
sudo apt update
sudo apt install -y \
build-essential \
clang \
cmake \
curl \
git \
libssl-dev \
pkg-config \
protobuf-compiler
macOS
# Install Xcode Command Line Tools
xcode-select --install
# Install dependencies via Homebrew
brew install cmake openssl protobuf
Arch Linux
sudo pacman -S base-devel clang cmake openssl protobuf
Docker Alternative
If you prefer not to compile locally, you can use Docker:
cd docker/testnet
docker-compose up -d
The Dockerfile downloads circuit artifacts automatically.
More info: See Running a Node.
Troubleshooting
Common Build Errors
| Error | Solution |
|---|---|
linker 'cc' not found | Install build-essential (Ubuntu) or base-devel (Arch) |
wasm32 target not found | Automatic with rust-toolchain.toml, or manually: rustup target add wasm32-unknown-unknown |
protobuf not found | Install protobuf-compiler (Linux) or protobuf (macOS) |
| Out of memory during build | Reduce parallel jobs: cargo build --release -j 2 |
couldn't read artifacts/*.ark | Run ./scripts/sync-circuit-artifacts.sh v0.1.0 |
Verification Failed
If cargo test fails on ZK tests:
# Verify artifacts exist
ls -lh artifacts/
# Re-sync artifacts
./scripts/sync-circuit-artifacts.sh v0.1.0
# Re-run tests
cargo test --package pallet-shielded-pool
Next Steps
- Running a Node - Configura y ejecuta tu nodo
- Quick Start - Tu primera transacción en 5 minutos