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 | |
|---|---|
| OS | Linux, macOS, or Windows (WSL2) |
| Rust | 1.78+ (rustup default stable) |
| Solana CLI | 1.18+ — only needed for the on-chain program build |
| RAM | 8 GB minimum (16 GB recommended for full test suite) |
| Disk | 20 GB free (RocksDB, build artifacts, test ledger) |
1. Clone
git clone https://github.com/paraloom-labs/paraloom-core.git
cd paraloom-core2. 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/:
| Binary | What it does |
|---|---|
paraloom | Main CLI: wallet, validator, compute |
paraloom-ceremony-contribute | MPC contribution tool |
paraloom-ceremony-verify | MPC transcript verifier |
paraloom-ceremony-finalize | Extract proving keys from finalized transcript |
bridge_init | Initialize Solana bridge program |
register_validator | On-chain validator registration |
paraloom-node | Validator node daemon |
3. Run the test suite
cargo test --all --all-targetsExpected output (abbreviated):
test result: ok. 407 passed; 0 failed; 0 ignoredIf you only want a smoke test:
cargo test --lib privacy::circuits4. Pick a path
Now you have a working build. What you do next depends on why you're here:
Run a validator on devnet
Register on-chain, generate keys, start the node. ~30 minutes end-to-end.
Contribute to the MPC ceremony
Add randomness to the trusted setup. ~10 minutes per circuit.
Run privacy E2E locally
Spin up a 5-validator localnet and exercise deposit → transfer → withdraw.
Try private compute (alpha)
Submit a WASM job to the network and read the verified result.
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.shWhen you're done:
./scripts/localnet/stop-all.shThe 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.tomlSee 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-amd64Full supply-chain story in Releases.