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.mdfor the latest security and audit notes.