Skip to content

Unify headers and fullsync_headers tables #4903

@MegaRedHand

Description

@MegaRedHand

#4812 adds a new table for temporarily storing unprocessed headers in full-sync. This table could be merged with the main headers table, to avoid having to move headers to the main table during full-sync.

I think this will simplify things and remove the (wrong since snap-sync was implemented) invariant of "we have a header in DB -> we have its block in DB". An example of this invariant at play is the gas estimator:

2025-10-17T09:09:50.010242Z ERROR ethrex_rpc::eth::gas_tip_estimator: Block body for block number 23594386 is missing but is below the latest known block!

Metadata

Metadata

Assignees

Labels

L1Ethereum clientsyncingSnap sync, Full synctech debtRefactors, cleanups, etc

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions