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

No one assigned

    Labels

    L1Ethereum clientsyncingSnap sync, Full synctech debtRefactors, cleanups, etc

    Type

    No type

    Projects

    Status

    Up next

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions