📄️ System Design
Snapshotter Components
📄️ Preloading
Preloaders play a crucial role in fetching low-level data, such as block details and transaction receipts. This ensures that subsequent base snapshot building can proceed without unnecessary redundant queries against the data source smart contracts.
📄️ Payload Commit Service
Once the snapshots are generated and uploaded to a decentralized storage medium like IPFS, the payload commit service ensures that the record of the same is registered on the protocol. It also performs some housekeeping functions, such as caching finalized snapshots against an epoch. The following sequence diagram provides a complete picture of its functions.
📄️ Snapshot Generation
Snapshot Computation Modules
📄️ State Machine
Refer to the following sections for detailed information on the state transitions that a snapshotter participates in while processing data sources per epoch.