Run a Node

Running a Node for Local Development

For local development, the ZK Compression CLI 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 Helius Labs, 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 repo for more info:

Prover Node

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

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

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.

Last updated

Was this helpful?