Agglayer Node¶
Overview¶
The Agglayer node is the Rust-based service designed to receive zero-knowledge proofs from Agglayer-connected chains, verify their validity, and send them to the L1 for final settlement.
Note: Instructions on how to clone and build the Agglayer locally, including running the pessimistic proof test suite and generating a verifiable proof using Succinct’s Prover Network, can be found here.
Crate directory¶
The crates and their functions within the Agglayer repo are as follows:
Crate | Description |
---|---|
agglayer-aggregator-notifier | Contains implementations for Certifier which applies new Certificate on top of an existing state and computes the proof, as well as EpochPacker, which handles the packing of an epoch |
agglayer-certificate-orchestrator | Manages the orchestration and handling of certificates; also handles current_epoch , which allows non-orchestrators to push a proven certificate |
agglayer-clock | Defines the pace of the Agglayer in terms of epoch with support for two clocks: time (for testing) and block (for listening for L1 blocks) |
agglayer-config | Manages configuration settings and parameters for Agglayer components |
agglayer-contracts | Contains smart contracts and related logic |
agglayer-gcp-kms | Provides integration with GCP’s Key Management Service for secure key handling |
agglayer-node | Responsible for spawning and running the different components of the node |
agglayer-prover-types | Defines data structures and types used by the prover |
agglayer-prover | Responsible for running everything related to the prover |
agglayer-signer | Manages signing operations |
agglayer-storage | Contains two layers: a physical layer for abstracting RocksDB and a logic layer for exposing the interface to other crates so that they may interact with the storage |
agglayer-telemetry | Handles telemetry and monitoring functionalities |
agglayer-types | Defines common data types and structures |
agglayer | The CLI for interacting with the Agglayer |
pessimistic-proof-program | Implements the pessimistic proof program |
pessimistic-proof-test-suite | Provides a suite of tests for validating the functionality of the pessimistic proof program |
pessimistic-proof | Contains the core logic and implementation of the pessimistic proof mechanism |