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

Feature: Visualize chain forks #121

Open
pk910 opened this issue Aug 28, 2024 · 0 comments
Open

Feature: Visualize chain forks #121

pk910 opened this issue Aug 28, 2024 · 0 comments

Comments

@pk910
Copy link
Member

pk910 commented Aug 28, 2024

Dora currently provides a fork overview that fully backed by the heads of the connected clients.
This is useful to debug persistent forks that specific client types follow.
However, it is not very helpful to see actual chain splits that might have happened in past and is no longer followed by any client.

Background:
The new indexer introduced by #83 tracks chain forks internally (as it is needed for the canonical chain selection) and even persists a history of forks in DB.
A fork as tracked by the explorer consists of an increasing fork id, the base block slot/root, the leaf slot/root and the parent fork id.
Each chain split in the unfinalized slot range are tracked by 2 forks, so in a simple fork situation like this:

B  C
| /
A

there are 2 fork entries created:

  1. the first consists of parent A slot/root, leaf B slot/root & the forkId of A as parent forkId
  2. the second consists of parent A slot/root, leaf C slot/root & the forkId of A as parent forkId

Fork relationships can be resolved via the parent fork id of each entry.
Finalized blocks are assigned to forkId 0 and fork entries with finalized leaf roots are removed.

Feature Request:
This information should be made accessible on the UI via a separate chain forks page.
The page should be capable of:

  • Show the most recent forks up to the finalization checkpoint
  • Visualize nested forks (maybe reuse the graph / list approach from the slots page)
  • Show the amount of blocks in each fork
  • Show fork participation for forks in unfinalized epochs (information not available after finalization)
@pk910 pk910 changed the title Visualize chain forks Feature: Visualize chain forks Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant