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

VC - At the end of each epoch, VC should report in the logs the list of validators, and their balances #2968

Closed
mrabino1 opened this issue Jan 27, 2022 · 5 comments
Labels
enhancement New feature or request

Comments

@mrabino1
Copy link

The VC log at the end of epoch should report which are the active validators and the start and end balance during that epoch

@paulhauner
Copy link
Member

If this were implemented, I suggest putting it behind a flag. Otherwise, users with a lot of validators will create large logs, which can be a headache when using an external log ingesting service.

@paulhauner paulhauner added the enhancement New feature or request label Feb 7, 2022
@paulhauner
Copy link
Member

Oh, the other challenge with this is that the VC doesn't actually know the validator balances. It would need to do a query to the BN to pull the info. That's why we haven't done anything like this in the past.

I propose that the --validator-monitor on the BN is used, if this info is to be printed.

@mrabino1
Copy link
Author

mrabino1 commented Feb 8, 2022

Curious question. I get that the VC has no clue as to the balance, only the BN knows that. However, the BN can run independently (or one might have 3 of them for redundancy). Point being, shouldn't the flag still be at the VC level to know that data in the log even though we know it has to query the BN to get that data? thx..

@paulhauner
Copy link
Member

paulhauner commented Feb 9, 2022

Point being, shouldn't the flag still be at the VC level to know that data in the log even though we know it has to query the BN to get that data?

Lighthouse has opted to provide information about validators at the BN-level, via the Validator Monitor. It has the advantages of:

  1. Keeps the VC small and simple, since it's holding private keys.
  2. The BN has a lot more information about the chain, so it's able to report on that quite easily without needing to expose (and standardise) a whole bunch of APIs.
  3. It allows for monitoring arbitrary validators, not just ones you have the private keys for. E.g., you can run a completely separate BN that monitors the performance of your VC+BN from a third-party perspective.

Does this answer your question @mrabino1?

@mrabino1
Copy link
Author

mrabino1 commented Feb 9, 2022

gotcha.. thank you.

RE point #1.. as you pointed it out, VC has access to the private keys. What are your thoughts on having it check the permissions of those keys and throw a warning if they are too exposed.. without getting into the weeds here.. but if the unix permissions are XYZ (where X should be 7.. Y could be whatever.. but Z should be 0).. curious your thoughts....

and I totally get #3... my only objective was to streamline #3 with VC as it knows which validators the operator is using.. but it is easy enough to query the BN from another front on a nightly basis.. appreciated. !

@mrabino1 mrabino1 closed this as completed Feb 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants