ZK Compression
  • Introduction
    • Overview
    • Intro to Development
  • Event
    • 🗓️Event: 1000x Hackathon
  • Release Notes
    • JS - v0.21.0
  • Learn
    • In a Nutshell
    • Core Concepts
      • Compressed Account Model
      • State Trees
      • Validity Proofs
      • Lifecycle of a Transaction
      • Limitations
  • Developers
    • TypeScript Client
    • JSON RPC Methods
      • getCompressedAccount
      • getCompressedBalance
      • getCompressedTokenAccountBalance
      • getCompressedBalanceByOwner
      • getCompressedMintTokenHolders
      • getCompressedTokenBalancesByOwnerV2
      • getCompressedAccountsByOwner
      • getMultipleCompressedAccounts
      • getCompressedTokenAccountsByOwner
      • getCompressedTokenAccountsByDelegate
      • getTransactionWithCompressionInfo
      • getCompressedAccountProof
      • getMultipleCompressedAccountProofs
      • getMultipleNewAddressProofs
      • getValidityProof
      • getCompressionSignaturesForAccount
      • getCompressionSignaturesForAddress
      • getCompressionSignaturesForOwner
      • getCompressionSignaturesForTokenOwner
      • getLatestCompressionSignatures
      • getLatestNonVotingSignatures
      • getIndexerSlot
      • getIndexerHealth
    • Addresses and URLs
    • Creating Airdrops with Compressed Tokens
    • Using Token-2022
    • Add Compressed Token Support to Your Wallet
    • Create programs with the program-template
  • Node Operators
    • Run a Node
  • resources
    • Security
    • Privacy Policy
Powered by GitBook
On this page
  • Running a Node for Local Development
  • Photon RPC Node
  • Prover Node
  • Light Forester Node

Was this helpful?

  1. Node Operators

Run a Node

PreviousCreate programs with the program-templateNextSecurity

Last updated 4 months ago

Was this helpful?

Running a Node for Local Development

For local development, the test-validator command starts a single-node Solana cluster with all relevant nodes (Photon RPC and Prover), system programs, accounts, and runtime features:

light test-validator

To connect to public networks (i.e., Devnet, Mainnet-Beta), you can either work with an RPC infrastructure provider that supports ZK Compression, such as , or run your own nodes:

There are three different types of nodes:

Becoming an operator for any node type is permissionless

Photon RPC Node

RPC nodes index the Light Protocol programs, enabling clients to read and build transactions interacting with compressed state.

The canonical ZK Compression indexer is named Photon. It can be run locally and requires minimal setup, which must be pointed to an existing Solana RPC. See the Github for more info:

Prover Node

Provers generate validity proofs for state inclusion on behalf of app developers

Please refer to the Github repo for more info:

Light Forester Node

Developers may choose to have their program-owned state trees serviced by a network of Light Forester nodes. These nodes manage the creation, rollover, and updating of shared and program-owned state trees.

Prover nodes can be operated either stand-alone or with an RPC node: in its default configuration, the Photon RPC node implementation by bundles a Prover node. The specification supports proof generation via the getValidityProof endpoint, making it easy to serve proofs using regular RPC methods via the same port.

Helius Labs
ZK Compression RPC API
ZK Compression CLI
Helius Labs
Photon RPC nodes
Prover nodes
Light forester nodes
repo
GitHub - helius-labs/photonGitHub
light-protocol/light-prover at main · Lightprotocol/light-protocolGitHub
light-protocol/forester at main · Lightprotocol/light-protocolGitHub
Logo
Logo
Logo