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

Broadcast validator registration to all synced beacon nodes #5976

Merged
merged 2 commits into from
Jul 3, 2024

Conversation

jimmygchen
Copy link
Member

Issue Addressed

The validator client currently publish validator registrations to its first beacon node, and it doesn't require the beacon node to be synced. This could potentially result in registration not being sent to all builders beacon nodes are connected to, because:

  • Beacon nodes may be connected to different relays, and only sending it to the first one means registrations may not be sent to all relays.
  • Beacon nodes read validator data from the chain, and only send registration for active validators. However if the node is out of sync, it could either be missing the validator or have an outdated status of the validator, resulting in registration for the active validator to be missed.

match self
.beacon_nodes
.first_success(
RequireSynced::No,
OfflineOnFailure::No,
|beacon_node| async move {
beacon_node.post_validator_register_validator(batch).await
},
)
.await

Proposed Changes

To ensure registrations for all active validators are sent to all relays, we publish validator registration to all synced beacon nodes.

@jimmygchen jimmygchen added val-client Relates to the validator client binary ready-for-review The code is ready for review labels Jun 21, 2024
@jimmygchen jimmygchen added ready-for-merge This PR is ready to merge. and removed ready-for-review The code is ready for review labels Jun 26, 2024
@michaelsproul
Copy link
Member

@Mergifyio queue

Copy link

mergify bot commented Jun 27, 2024

queue

🛑 The pull request has been removed from the queue default

The queue conditions cannot be satisfied due to failing checks.

You can take a look at Queue: Embarked in merge queue check runs for more details.

In case of a failure due to a flaky test, you should first retrigger the CI.
Then, re-embark the pull request into the merge queue by posting the comment
@mergifyio refresh on the pull request.

@jimmygchen
Copy link
Member Author

@mergify requeue

Copy link

mergify bot commented Jul 3, 2024

requeue

✅ This pull request will be re-embarked automatically

The followup queue command will be automatically executed to re-embark the pull request

Copy link

mergify bot commented Jul 3, 2024

queue

✅ The pull request has been merged automatically

The pull request has been merged automatically at 3f82952

mergify bot added a commit that referenced this pull request Jul 3, 2024
@mergify mergify bot merged commit 3f82952 into sigp:unstable Jul 3, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-merge This PR is ready to merge. val-client Relates to the validator client binary
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants