-
-
Notifications
You must be signed in to change notification settings - Fork 325
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
Improve validator status logging #4785
Comments
Not really. The validator knows about the public key of a validator and asks the beacon node to resolve that public key to and index. When the vc prints "discovered" means that it can resolve pubkey to index. In that call the beacon respond also with the status of the validator (pending, active, exited) so the vc could also print that. @philknows Could you check what Prysm or Lighthouse log in that case? Maybe being closer to clients people are familiar with is a good starting point. |
For Lighthouse, it looks like it does a validator discovery, logs the voting pubkeys, then logs the initialized validators. When tested, the following logs show up for 2 validators already activated by the beacon chain. It also then logs the validator config with fee_recipient, validator index, pubkey for each of the validators:
|
For Prysm, it's interesting as they don't do any counts as part of their logging. It just logs out the keys you have locally. If there's any keys that are not activated, it will just log
|
i think every epoch we should log the pubkey count with the validator grouped by status as lighthouse is doing |
* Fix log validator index, status and pubkey each epoch (#4785) * Update validator to display correct status and pubkey each epoch (#4785) * Fix update log info formatting for validator status (#4785) * Update logs to include total validator availability count (#4785) * Extracted logging to a function and included all validator statuses (#4785) * Refactor to print logs more efficiently (#4785) * Fix imports and updated readability (#4785) * Updated imports + adjusted coding preferences and log formatting * Refactored logs to only report the totals by status + removed logging validator status per epoch * fix linting issue * fix: added mapping for simple validator statuses * updated mapping for validator statuses * fix potential NaN error in pending statuses + some minor refactors * fix issue with getting validator pending statuses * Removed debug log for validator exists in beacon chain * updated import in prepareBeaconProposer * reverted changes in prepareBeaconProposer and added TODO comments * update lint error * updated log params * removed TODOs
Is your feature request related to a problem? Please describe.
There has been multiple occasions where feedback was given to clarify the meaning of the
Discovered new validators = x
as to what this statement actually means for the user.Please correct if not true: Currently, this line is logged when a user starts the validator client. When the user's validator pubkey is active (deposit is recognized from logs) on the beacon chain, that increments this count by 1.
However there is a period of time, generally when deposits have been made recently on the execution chain (e.g. a new staker and now setting up beacon infrastructure), it can be misleading to see their logs state:
Although we've clearly stated that the validator client recognizes 3 local keystores successfully decrypted and ready to process duties once activated,
Discovered new validator count = 0
in its current phrasing is counter-intuitive as these are technically new validators that haven't been discovered yet by the beacon chain. This is a sensitive time period for stakers and better UX is justified to reduce confusion. This confusion is common as users generally make deposits to their validators slightly before, during or after setting up their beacon infrastructure.In addition, if a user adds an additional key to their client, the way it's phrased confuses a user about whether it reflects "new validators" added since the previous run.
This is not an issue after pubkeys have been recognized and activated on the beacon chain since the proper number of validator keys will be reflected in the log.
Describe the solution you'd like
Would like to see if there is better phrasing to reflect the reality of what we're logging to the user. An example:
Validators currently activated on the beacon chain = x
Do we need to add a small disclaimer for users about needing to wait for some time so it can be activated?
(New deposits may take some time for activation)
Additional context
![image](https://user-images.githubusercontent.com/58080811/202866891-52040201-3cae-4986-ad6e-b0a29aa658e5.png)
The text was updated successfully, but these errors were encountered: