Skip to content

Reconciliation: validators page redesign + registration retry + config fixes#158

Merged
raymondjacobson merged 7 commits intomainfrom
rj-reconcilation
Mar 26, 2026
Merged

Reconciliation: validators page redesign + registration retry + config fixes#158
raymondjacobson merged 7 commits intomainfrom
rj-reconcilation

Conversation

@raymondjacobson
Copy link
Copy Markdown
Contributor

@raymondjacobson raymondjacobson commented Mar 26, 2026

Summary

image
  • bfbf138 Fast round — Speed up round timing for faster consensus cycles (only exposes env vars, keeps same defaults)
  • 5658683 Disable migration — Disable a migration that was causing issues
  • 88a44c6 Retry validator registration indefinitely — Instead of giving up after 120m, retry validator registration indefinitely so nodes recover from extended downtime
  • 84ee128 Increase attestation rendezvous size — Bump rendezvous size from 10 to 15 for better attestation reliability
  • 00494c5 Fix broken line in migration — Fix syntax issue in the add-missing-figment-validators migration
  • c426985 Redesign console validators page with three node source views — Split the validators page into three clickable sections (Consensus Nodes, Validator Nodes, Eth Registry Nodes) each with List/Matrix sub-views. Consensus Nodes pulls from CometBFT validators and cross-references with core_validators. Version tracker now uses consensus validator count as the denominator and fetches versions concurrently.

Screenshot

Test plan

  • Ran a local 4-node devnet stack (make up)
  • Verified the three sections render correctly with accurate counts
  • Intentionally downed a node, observed it get jailed, and confirmed it was removed from the Consensus Nodes list (3 consensus vs 4 validator nodes)
  • Verified the jailed node still appears in the Validator Nodes list with the "Jailed" badge
  • Confirmed the Matrix View loads correctly within each tab
  • Verified version tracker uses consensus count as denominator (3/3 on latest)
  • Confirmed Eth Registry Nodes shows all 4 registered endpoints from on-chain data

🤖 Generated with Claude Code

raymondjacobson and others added 7 commits March 25, 2026 12:15
…120m

Previously, nodes that failed to register within 120 minutes would log
"exhausted registration retries" and permanently stop trying. This caused
nodes to remain unregistered after chain halts, since registration txs
submitted during a halt expire (deadline-based) and the retry window
closes before the chain recovers.

Now the exponential backoff (2s, 4s, 8s, ...) caps at 1 hour and retries
indefinitely until registration succeeds or the process is shut down.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
With 15+ offline validators, a rendezvous set of 10 often has >5
unreachable nodes, making it impossible to collect the 5 required
attestation signatures for registration or deregistration. Increasing
to 15 gives more room for offline nodes while keeping the same 5
signature minimum.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split the validators page into three distinct sections—Consensus Nodes,
Validator Nodes, and Eth Registry Nodes—each as a clickable button that
toggles its own list below. Consensus Nodes (default) pulls from the
CometBFT validators endpoint and cross-references with core_validators
to show endpoint/eth info when available, falling back to comet address.
Validator Nodes shows all core_validators entries including jailed status.
Eth Registry Nodes shows full endpoint details from the on-chain registry.

Each section includes a List/Matrix sub-toggle so the cross-validation
matrix view is available within every tab.

The version tracker now uses consensus validator count as the denominator
and fetches versions concurrently, checking peer health first and falling
back to direct health-check requests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@raymondjacobson raymondjacobson merged commit 9a7ac1e into main Mar 26, 2026
4 checks passed
@raymondjacobson raymondjacobson deleted the rj-reconcilation branch March 26, 2026 21:47
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

Successfully merging this pull request may close these issues.

1 participant