Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New head tracker #677

Open
mempirate opened this issue Jan 14, 2025 · 0 comments
Open

New head tracker #677

mempirate opened this issue Jan 14, 2025 · 0 comments
Labels
A: meta Area: meta T: feature Type: Feature

Comments

@mempirate
Copy link
Contributor

mempirate commented Jan 14, 2025

Context

We're using a head tracker in all 3 components (sidecar, RPC, registry). We should make an effort to consolidate all of them into a single fault-tolerant, consistent, reorg aware head tracker, that can be customized based on the needs of the user. This can be extracted to a separate crate: bolt-common.

Example customization: some users only need consensus URL for tracking slots, others need more info like EL block number1, others even more like EL block header data, or even the whole block with all the populated transactions. Can use a combination of builder and type state pattern here (type state because ideally you want any components to define at compile time what your head tracker needs to support).

First step would be identifying all requirements across the components that currently use it.

Requirements

Footnotes

  1. In the registry, we use the payload_attributes event stream on the beacon-API, which contains EL block number as well.

@mempirate mempirate added A: meta Area: meta T: feature Type: Feature labels Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: meta Area: meta T: feature Type: Feature
Projects
None yet
Development

No branches or pull requests

1 participant