Skip to content

Lightprotocol/program-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compressed Accounts Program Examples

Examples for building with ZK compression by Light Protocol.

Examples

Counter Program

The counter program implements a compressed account lifecycle (create, increment, decrement, reset, close):

Create and Update Program

  • create-and-update - Create a new compressed account and update an existing compressed account with a single validity proof in one instruction.

Solana vs compressed accounts comparison Program

Light Protocol Libraries Used

Rust Crates

  • light-sdk - Core SDK for compressed accounts in native and anchor programs
  • light-sdk-pinocchio Core SDK for compressed accounts in pinocchio programs
  • light-hasher - Hashing utilities for ZK compression
  • light-client - RPC client and indexer for interacting with compressed accounts
  • light-program-test - Testing utilities for compressed programs.

TypeScript/JavaScript Packages

  • @lightprotocol/stateless.js - Client library for interacting with compressed accounts
  • @lightprotocol/zk-compression-cli - Command-line tools for ZK compression development

Prerequisites

Required versions:

  • Rust: 1.86.0 or later
  • Solana CLI: 2.2.15
  • Anchor CLI: 0.31.1
  • Zk compression CLI: 0.27.0
  • Node.js: 23.5.0 or later

Install the Light CLI:

$ npm -g i @lightprotocol/zk-compression-cli

Install Solana CLI:

sh -c "$(curl -sSfL https://release.solana.com/v2.2.15/install)"

Install Anchor CLI:

cargo install --git https://github.com/coral-xyz/anchor avm --force
avm install latest
avm use latest

Getting Started with your own Program

  1. install the light cli
$ npm -g i @lightprotocol/zk-compression-cli
  1. instantiate a template Solana program with compressed accounts
$ light init <project-name>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published