Expand description

Snapshot creation, restoration, and network service.

Documentation of the format can be found at https://openethereum.github.io/Warp-Sync-Snapshot-Format

Re-exports

pub use self::service::DatabaseRestore;
pub use self::service::Service;
pub use self::service::SnapshotClient;

Modules

Snapshot i/o. Ways of writing and reading snapshots. This module supports writing and reading snapshots of two different formats: packed and loose. Packed snapshots are written to a single file, and loose snapshots are written to multiple files in one directory.

Snapshot network service implementation.

Structs

Basic account type.

Manifest data.

Snapshot creation and restoration for PoA chains. Chunk format:

Rebuilder for proof-of-work chains. Does basic verification for all blocks, but PoW verification for some. Blocks must be fed in-order.

Snapshot creation and restoration for PoW chains. This includes blocks from the head of the chain as a loose assurance that the chain is valid.

A progress indicator for snapshots.

Configuration for the Snapshot service

Used to rebuild the state trie piece by piece.

A ChainNotify implementation which will trigger a snapshot event at certain block numbers.

Enums

Statuses for snapshot creation.

Snapshot-related errors.

Statuses for restorations.

Traits

Restore from secondary snapshot chunks.

Components necessary for snapshot creation and restoration.

The interface for a snapshot network service. This handles:

Functions

Create and write out all secondary chunks to disk, returning a vector of all the hashes of secondary chunks created.

Walk the given state database starting from the given root, creating chunks and writing them out. part is a number between 0 and 15, which describe which part of the tree should be chunked.

Take a snapshot using the given blockchain, starting block hash, and database, writing into the given writer.

Verify an old block with the given header, engine, blockchain, body. If always is set, it will perform the fullest verification possible. If not, it will take a random sample to determine whether it will do heavy or light verification.

Type Definitions

A sink for produced chunks.