Installation
This guide covers the prerequisites and installation steps for building and running an Orbinum node.
Table of Contents
Prerequisites
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 8+ cores |
| RAM | 8 GB | 16+ GB |
| Storage | 50 GB SSD | 200+ GB NVMe |
| OS | Linux, macOS | Ubuntu 22.04 |
Required Tools
| Tool | Version | Purpose |
|---|---|---|
| Rust | 1.74+ | Compiler |
| Node.js | 18+ | Circuit tooling |
| Git | 2.x | Version control |
| Clang | 14+ | WASM compilation |
Rust Installation
Install Rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
Configure Toolchain
The project includes a rust-toolchain.toml that automatically configures the correct version:
# rust-toolchain.toml
[toolchain]
channel = "stable"
components = ["rustfmt", "clippy"]
targets = ["wasm32-unknown-unknown"]
Verify Installation
rustc --version
# rustc 1.74.0 (79e9716c9 2023-11-13)
cargo --version
# cargo 1.74.0 (ecb9851af 2023-10-18)
Install WASM Target
rustup target add wasm32-unknown-unknown
Node.js Setup
Node.js is required for circuit compilation and testing.
Using nvm (Recommended)
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install Node.js
nvm install 18
nvm use 18
Verify Installation
node --version
# v18.x.x
npm --version
# 9.x.x
Install Circuit Dependencies
cd circuits
npm install
Clone Repository
git clone https://github.com/orbinum/orbinum-node-2.git
cd orbinum-node-2
Repository Structure
orbinum-node-2/
├── Cargo.toml # Workspace manifest
├── Makefile # Build shortcuts
├── rust-toolchain.toml # Rust version
├── circuits/ # ZK circuits
├── client/ # Node client
├── frame/ # Pallets
├── primitives/ # Core libraries
└── template/ # Node template
Build Node
Using Cargo
# Debug build (faster compilation)
cargo build
# Release build (optimized)
cargo build --release
Using Make
# Build release
make build
# Build with all features
make build-all
Build Output
target/
├── debug/
│ └── orbinum-node
└── release/
└── orbinum-node # Production binary
Build Times
| Build Type | Time | Size |
|---|---|---|
| Debug | ~5 min | ~500 MB |
| Release | ~15 min | ~100 MB |
Verify Installation
Run Tests
cargo test --workspace
Check Binary
./target/release/orbinum-node --version
# orbinum-node x.x.x
Run Development Node
./target/release/orbinum-node --dev --tmp
Expected output:
2024-01-01 00:00:00 Orbinum Node
2024-01-01 00:00:00 ✌️ version x.x.x
2024-01-01 00:00:00 ❤️ by Orbinum Team
2024-01-01 00:00:00 📋 Chain specification: Development
2024-01-01 00:00:00 🏷 Node name: ...
2024-01-01 00:00:00 💾 Database: RocksDb at /tmp/...
2024-01-01 00:00:00 ⛓ Native runtime: orbinum-runtime-1
Troubleshooting
Common Issues
| Issue | Solution |
|---|---|
linker 'cc' not found | Install build-essential: apt install build-essential |
wasm32 target not found | Run: rustup target add wasm32-unknown-unknown |
protobuf not found | Install protobuf: apt install protobuf-compiler |
| Out of memory | Add swap or reduce parallel jobs: cargo build -j 2 |
macOS Specific
# Install Xcode command line tools
xcode-select --install
# Install Homebrew dependencies
brew install openssl protobuf
Linux Specific
# Ubuntu/Debian
sudo apt update
sudo apt install -y \
build-essential \
clang \
curl \
git \
libssl-dev \
pkg-config \
protobuf-compiler
Next Steps
- Running a Node - Start a local node
- Quick Start - First transaction
- Wallet CLI - Privacy operations