Synchronization
Last updated
Was this helpful?
Synchronization brings the local node in sync with the network and feeds ready blocks into consensus.
Archive and full nodes follow a fixed phase pipeline:
CatchUpRecoverBlockHeaderFromDB
CatchUpSyncBlockHeader
CatchUpCheckpoint
CatchUpFillBlockBodyPhase
CatchUpSyncBlock
Normal
Each phase drives specific network requests and graph updates.
The sync graph stores all received headers and blocks and tracks their status:
Header-only, graph-ready, block-ready.
Parent and referee connectivity.
Frontiers for not-ready blocks and old-era blocks.
Only blocks that are graph-ready and have full bodies are delivered to consensus.
Snapshot-based state sync uses:
Snapshot manifest requests.
Chunk requests/responses.
Candidate selection and restoration helpers.
crates/mazzecore/core/src/sync/synchronization_phases.rs
crates/mazzecore/core/src/sync/synchronization_graph.rs
crates/mazzecore/core/src/sync/message/mod.rs
crates/mazzecore/core/src/sync/state/mod.rs
Last updated
Was this helpful?
Was this helpful?