|
| 1 | +# Agglayer Node |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +**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. |
| 6 | + |
| 7 | +> **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](#). |
| 8 | +
|
| 9 | +## Crate directory |
| 10 | + |
| 11 | +The crates and their functions within the Agglayer repo are as follows: |
| 12 | + |
| 13 | +| Crate | Description | |
| 14 | +| --- | --- | |
| 15 | +| [agglayer-aggregator-notifier](/crates/agglayer-aggregator-notifier) | Contains implementations for [Certifier](crates/agglayer-certificate-orchestrator/src/certifier.rs#L29) which applies new [Certificate](crates/agglayer-types/src/lib.rs#245) on top of an existing state and computes the proof, as well as [EpochPacker](crates/agglayer-certificate-orchestrator/src/epoch_packer.rs#14), which handles the packing of an epoch | |
| 16 | +| [agglayer-certificate-orchestrator](/crates/agglayer-certificate-orchestrator) | Manages the orchestration and handling of certificates; also handles `current_epoch`, which allows non-orchestrators to push a proven certificate | |
| 17 | +| [agglayer-clock](/crates/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) | |
| 18 | +| [agglayer-config](/crates/agglayer-config) | Manages configuration settings and parameters for Agglayer components | |
| 19 | +| [agglayer-contracts](/crates/agglayer-contracts) | Contains smart contracts and related logic | |
| 20 | +| [agglayer-gcp-kms](/crates/agglayer-gcp-kms) | Provides integration with GCP's Key Management Service for secure key handling | |
| 21 | +| [agglayer-node](/crates/agglayer-node) | Responsible for spawning and running the different components of the node | |
| 22 | +| [agglayer-prover-types](/crates/agglayer-prover-types) | Defines data structures and types used by the prover | |
| 23 | +| [agglayer-prover](/crates/agglayer-prover) | Responsible for running everything related to the prover | |
| 24 | +| [agglayer-signer](/crates/agglayer-signer) | Manages signing operations | |
| 25 | +| [agglayer-storage](/crates/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 | |
| 26 | +| [agglayer-telemetry](/crates/agglayer-telemetry) | Handles telemetry and monitoring functionalities | |
| 27 | +| [agglayer-types](/crates/agglayer-types) | Defines common data types and structures | |
| 28 | +| [agglayer](/crates/agglayer) | The CLI for interacting with the Agglayer | |
| 29 | +| [pessimistic-proof-program](/crates/pessimistic-proof-program) | Implements the pessimistic proof program | |
| 30 | +| [pessimistic-proof-test-suite](/crates/pessimistic-proof-test-suite) | Provides a suite of tests for validating the functionality of the pessimistic proof program | |
| 31 | +| [pessimistic-proof](/crates/pessimistic-proof) | Contains the core logic and implementation of the pessimistic proof mechanism | |
| 32 | + |
0 commit comments