ParaloomPARALOOM

Installation

Detailed installation guide for Paraloom

Installation

This guide covers the complete installation process for Paraloom.

System Requirements

Minimum Requirements

ComponentRequirement
OSLinux, macOS, Windows (WSL2)
RAM4 GB
Disk10 GB
CPU2 cores
ComponentRequirement
OSLinux (Ubuntu 22.04+)
RAM8 GB
Disk50 GB SSD
CPU4+ cores
Network100 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-dev
xcode-select --install
brew install openssl pkg-config

Use WSL2 with Ubuntu:

wsl --install -d Ubuntu
# Then follow Ubuntu instructions

Installation Steps

1. Clone Repository

git clone https://github.com/paraloom-labs/paraloom-core.git
cd paraloom-core

2. Build Rust Components

# Development build
cargo build

# Release build (optimized)
cargo build --release

3. 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_ceremony

This creates:

keys/
├── withdraw_proving.key    # For generating proofs
└── withdraw_verifying.key  # For verifying proofs

5. Verify Installation

# Run all tests
cargo test --all --all-targets

# Expected output: 197/197 tests passing

Configuration

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 2

Paraloom 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 = 10

Directory 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 files

Troubleshooting

Common Issues

Next Steps

On this page