Installation
Detailed installation guide for Paraloom
Installation
This guide covers the complete installation process for Paraloom.
System Requirements
Minimum Requirements
| Component | Requirement |
|---|---|
| OS | Linux, macOS, Windows (WSL2) |
| RAM | 4 GB |
| Disk | 10 GB |
| CPU | 2 cores |
Recommended (Validators)
| Component | Requirement |
|---|---|
| OS | Linux (Ubuntu 22.04+) |
| RAM | 8 GB |
| Disk | 50 GB SSD |
| CPU | 4+ cores |
| Network | 100 Mbps |
Prerequisites
1. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
# Verify installation
rustc --version # Should be 1.70+2. Install Solana CLI
sh -c "$(curl -sSfL https://release.solana.com/v1.16.0/install)"
# Add to PATH
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
# Verify installation
solana --version # Should be 1.16+3. Install Build Dependencies
sudo apt update
sudo apt install -y build-essential pkg-config libssl-devxcode-select --install
brew install openssl pkg-configUse WSL2 with Ubuntu:
wsl --install -d Ubuntu
# Then follow Ubuntu instructionsInstallation Steps
1. Clone Repository
git clone https://github.com/paraloom-labs/paraloom-core.git
cd paraloom-core2. Build Rust Components
# Development build
cargo build
# Release build (optimized)
cargo build --release3. Build Solana Program
cd programs/paraloom
cargo build-sbf
cd ../..4. Generate zkSNARK Keys
This step generates cryptographic keys for proof generation. For production, use a multi-party computation ceremony.
cargo run --bin setup_withdrawal_ceremonyThis creates:
keys/
├── withdraw_proving.key # For generating proofs
└── withdraw_verifying.key # For verifying proofs5. Verify Installation
# Run all tests
cargo test --all --all-targets
# Expected output: 197/197 tests passingConfiguration
Solana Configuration
# For localnet testing
solana config set --url localhost
# For devnet
solana config set --url devnet
# For mainnet (when ready)
solana config set --url mainnet-beta
# Create wallet
solana-keygen new -o ~/.config/solana/id.json
# Get devnet SOL
solana airdrop 2Paraloom Configuration
Create config.toml:
[node]
listen_addr = "0.0.0.0:9000"
data_dir = "./data"
[network]
bootstrap_peers = []
enable_mdns = true
[consensus]
threshold = 7
total_validators = 10
[bridge]
solana_rpc = "https://api.devnet.solana.com"
program_id = "DSysqF2oYAuDRLfPajMnRULce2MjC3AtTszCkcDv1jco"
poll_interval = 10Directory Structure
After installation:
paraloom-core/
├── target/
│ ├── debug/ # Debug builds
│ └── release/ # Release builds
├── programs/paraloom/
│ └── target/
│ └── deploy/ # Solana program
├── keys/ # zkSNARK keys
├── data/ # Runtime data (created on first run)
└── logs/ # Log filesTroubleshooting
Common Issues
Next Steps
- Quick Start - Run your first test
- Validator Guide - Set up a validator node
- Developer Guide - Build on Paraloom