Skip to main content

Build & Run

This page summarizes how to build and test the ZEclipse Solana program and the TypeScript SDK, based on AGENTS.md and docs/COMPILE_INSTRUCTIONS.md in the BlackoutSOL repo.

Prerequisites

  • Rust toolchain with Solana program support.
  • Anchor framework (version matching the repo, e.g. 0.29.x).
  • Node.js 20+ and npm for the TypeScript tooling.

Rust (Solana Programs)

From the BlackoutSOL root:

cargo check --package zeclipse --features no-entrypoint
cargo test --package zeclipse --lib --features no-entrypoint
cargo build-bpf # Build for Solana BPF target

The no-entrypoint feature is used as a pragmatic workaround for Anchor macro expansion issues while still compiling all core logic and Poseidon-based cryptography. See docs/COMPILE_INSTRUCTIONS.md for the detailed rationale.

Poseidon-Focused Commands

To focus on Poseidon functionality:

cargo check --package blackout --features no-entrypoint
cargo test --package blackout --lib --features no-entrypoint

(Exact package names may vary depending on how your local Cargo.toml is configured.)

TypeScript SDK & Apps

From BlackoutSOL/app:

cd app
npm install
npm run build
npm test # Jest tests
npm run dev # Run CLI with ts-node

To run the video demo flow described in START_HERE.md:

cd app
npm run demo:video

Single-Test Execution

  • Rust:

    cargo test --package zeclipse --lib <test_name> --features no-entrypoint -- --nocapture
  • TypeScript (from app/):

    npm test -- <test_pattern>

Notes & Caveats

  • Current ZKP implementations (HyperPlonk, range proofs, Merkle verification) are not production-audited.
  • Poseidon hashing is critical for ZK soundness; it cannot be replaced with SHA-256 without redesigning the proofs.
  • The repo is in BETA; check DOCUMENTATION.md for the latest security and audit notes.