Repository navigation
Releases: hmdsefi/evmsync
Releases · hmdsefi/evmsync
Release list
v0.1.0: canonical log
The first release: the canonical log, the chain tracker and the consumer runtime. evmsync needs
Go 1.26 or later.
Added
chain: the block, header and log values,BlockRefwith its parent hash, the ingestFilter
(up to 1,000 addresses and 1,000 values in each of four topic positions) with a bloom check,
and theSourceinterface that ingest reads a chain through.chainlog: theBlock,RevertandFinalizeentries and their binary record format, limited
to 16 MiB per record. Every append goes through a validatorState: a block extends the tip, a
revert targets the finalized block or a block in the window, and a finalize never moves below
the finalized block.chainlog.Memory: an in-memory log that passes the same conformance suite as the WAL.chainlog/wal: a durable log in segment files with CRC-32C checksums, on Unix systems. It takes
an exclusive lock on its directory, recovers a torn tail on open, keeps a checkpoint and a meta
file, fsyncs perSyncPolicy, and compacts whole segments below the finalized block.tracker: turns new heads and finalized blocks into log entries. It follows parent hashes to the
common ancestor of a reorg, caps the window of unfinalized blocks (100,000 by default), and stops
with a typed error on a reorg below the finalized block or a full window.consumer:Runfeeds a consumer the log from its committed offset plus one, andMemorykeeps
in-memory state with a snapshot at the latestFinalizethat it replays on aRevert.