Documentation

Everything you need to get started with the Omnia Protocol — from cloning the repo to running a full node.

Quick Start

bash
git clone https://github.com/Willow7737/omnia-protocol.git
cd omnia-protocol
cargo test --workspace
cargo bench --no-run

Running a Node

bash
# Build the node binary
cargo build --release -p omnia-node

# Run with default configuration
./target/release/omnia-node

# Run with custom data directory
./target/release/omnia-node --data-dir /path/to/data

# Enable live Ethereum settlement
cargo build --release -p omnia-node --features ethereum-live

Docker Deployment

bash
# Start 5-node testnet with monitoring
docker compose -f docker/docker-compose.yml up -d

# Start testnet variant
docker compose -f docker/docker-compose.testnet.yml up -d

API Endpoints Reference

EndpointDescription
GET /healthLiveness probe: { status, node_id, uptime_seconds }
GET /readyzReadiness probe: { status, peers, finalized_height }
GET /api/v1/node/infoFull node status
GET /api/v1/node/peersPeer list
GET /metricsPrometheus metrics
GET /v1/events/streamSSE event stream
GET /v1/events/recent?limit=NRecent events

Feature Flags

FlagDescription
ethereum-liveReal Ethereum settlement with Alloy
celestiaCelestia DA integration
settlement-ffiC-library FFI adapter
real_verificationDomain shard real verification

Enable features with --features <flag> when building with Cargo.

Environment Variables

VariableDescription
NEXT_PUBLIC_OMNIA_API_URLPrimary node API endpoint
NEXT_PUBLIC_OMNIA_NODE_URLSComma-separated node URLs
NEXT_PUBLIC_POLL_INTERVAL_MSData polling interval
NEXT_PUBLIC_LIVE_MODESet to true for SSR + live data

Development Commands

CommandDescription
cargo test --workspaceRun all 1,536 tests
cargo clippy -- -D warningsLint
cargo fmt --checkCheck formatting
cargo benchRun benchmarks
cargo bench --bench zk_benchmarks --features fullZK benchmarks