Program Development
Overview to on-chain program development. Quick access to SDKs for Anchor, Pinocchio, or native Rust.
ZK Compression's Rust crates are published to crates.io and can be found on docs.rs with the light-
prefix.
Rust Crates
light-sdk
— For Anchor and native programs. Includes CPI utilities, compressed account abstractions similar to anchor Account, and metadata structs for CPIs to the Light System program.light-sdk-pinocchio
— For Pinocchio programs. Pinocchio-optimized SDK with compressed account abstractions and CPI utilities.
For testing:
light-program-test
— Local test environment with indexer, prover, and LiteSVM. Use for fast test execution and unit/integration tests for your custom program.
Light Programs Overview
Enforces compressed account layout, ownership checks, and validity proof verification. Used to create/write compressed accounts and PDAs
SPL-compatible compressed token implementation with arbitrary compression/decompression support
State and address tree implementation used by the Light System program
Version Requirements
These are the required version for program development.
Rust: 1.86.0 or later
Solana CLI: 2.2.15
Anchor CLI: 0.31.1
Zk compression CLI: 0.27.0 or later
Node.js: 23.5.0 or later
Examples
Get Started
Get an overview of compressed PDAs and create your custom program.
Create a Program with Compressed PDAsLast updated