ParaloomPARALOOM

Quick Start

Build paraloom-core, run the test suite, and join devnet.

Quick start

This walkthrough builds paraloom-core from source, runs the 407-test suite, and points you at the next concrete thing to try (devnet validator, MPC ceremony contribution, or a local privacy E2E).

Prerequisites

Requirement
OSLinux, macOS, or Windows (WSL2)
Rust1.78+ (rustup default stable)
Solana CLI1.18+ — only needed for the on-chain program build
RAM8 GB minimum (16 GB recommended for full test suite)
Disk20 GB free (RocksDB, build artifacts, test ledger)

1. Clone

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

2. Build

The L2 Rust crate and the on-chain Anchor program build separately — they pin different Solana SDK versions on purpose.

# L2 / validator binaries
cargo build --release

# On-chain Anchor program (optional — only if you'll deploy your own)
cd programs/paraloom
anchor build
cd ../..

The release build produces these binaries in target/release/:

BinaryWhat it does
paraloomMain CLI: wallet, validator, compute
paraloom-ceremony-contributeMPC contribution tool
paraloom-ceremony-verifyMPC transcript verifier
paraloom-ceremony-finalizeExtract proving keys from finalized transcript
bridge_initInitialize Solana bridge program
register_validatorOn-chain validator registration
paraloom-nodeValidator node daemon

3. Run the test suite

cargo test --all --all-targets

Expected output (abbreviated):

   test result: ok. 407 passed; 0 failed; 0 ignored

If you only want a smoke test:

cargo test --lib privacy::circuits

4. Pick a path

Now you have a working build. What you do next depends on why you're here:

Local privacy E2E

This is the fastest way to see deposit → private transfer → withdraw end-to-end without touching devnet.

# Terminal 1: Solana localnet
solana-test-validator

# Terminal 2: spin up 5 paraloom validators
./scripts/localnet/start-all.sh

# Terminal 3: run the privacy E2E flow
./scripts/localnet/test-privacy-e2e.sh

When you're done:

./scripts/localnet/stop-all.sh

The E2E script exercises:

  • Anchor program deploy + bridge initialization
  • 5-validator registration with stake
  • A real deposit (SOL → shielded pool, with Groth16 proof)
  • An in-pool transfer (consume 1 commitment, mint 2 with new owners)
  • A withdrawal (proof + nullifier PDA init + replay-protected expiration_slot)
  • Verification that final balances match expectations

Test source: tests/validator_privacy_e2e.rs.

Devnet

Pre-mainnet validator participation happens on devnet. To join:

# Point Solana CLI at devnet
solana config set --url devnet
solana airdrop 2  # for transaction fees + validator stake

# Register and start (more in the validator guide)
paraloom validator keygen --out ./validator.key
paraloom validator register --network devnet --key ./validator.key --stake 1
paraloom validator start --network devnet --config ./validator.toml

See Validator guide for the full setup, hardware sizing, and reputation/slashing implications.

Verifying release binaries

If you'd rather use a signed release than build from source:

curl -LO https://github.com/paraloom-labs/paraloom-core/releases/latest/download/paraloom-linux-amd64
curl -LO https://github.com/paraloom-labs/paraloom-core/releases/latest/download/SHA256SUMS{,.sig,.crt}

cosign verify-blob \
  --certificate SHA256SUMS.crt --signature SHA256SUMS.sig \
  --certificate-identity-regexp 'https://github.com/paraloom-labs/paraloom-core/.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  SHA256SUMS

sha256sum -c SHA256SUMS --ignore-missing
chmod +x paraloom-linux-amd64

Full supply-chain story in Releases.

On this page