Erigon Archive
Decouple block execution from persistent storage via a StorageSink interface
Key Capabilities
Design: StorageSink Interface
// db/kv/storage_sink.go
type StorageSink interface {
ApplyBlockBatch(ctx context.Context, batch *BlockBatch) error
Close() error
}
type BlockBatch struct {
FromBlock uint64
ToBlock uint64
BlockOverlay *MemoryDiff // headers, bodies, canonical hashes, TD
DomainDiffs [DomainLen][]DomainEntryDiff // accounts, storage, code, commitment
IndexUpdates map[InvertedIdx][]IndexEntry
StateRoot common.Hash
}Deployment Modes
gRPC Protocol
BatchProcessor Framework
Processor
Output
Adding New Storage Targets
Sink
Purpose
Estimated effort
Implementation Phases
Phase
Scope
Last updated