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.

Light Programs Overview

Your custom program invokes the Light system program via Cross-Program Invocation (CPI) to leverage ZK Compression.

Program
Description

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. Clients and custom programs do not interact with the Account Compression Program. This is all done under the hood.

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

CLI Installation

Program Examples

Program Examples

Build your own program

Get an overview of compressed PDAs and create your custom program.

Create a Program with Compressed PDAs

Last updated

Was this helpful?