-
Notifications
You must be signed in to change notification settings - Fork 180
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
feat!: separate validator clients from CL clients #497
Conversation
64fa836
to
8e2e1a3
Compare
I am unable to add a reviewer to this PR myself. @barnabasbusa I believe you would be the best person to review this since you introduced the |
I'll try to review this hopefully by the end of the week. |
Sorry I still haven't had time to deeply look into this PR as it is touching quite a bit, I'll make sure to take a proper look before we can merge this in. |
I suppose these may look like rather large changes but they really aren't that large. It's mostly refactoring/relocating existing code. But I understand you want to take a good look at this, take all the time you need. I updated the prysm CL image definitions in the test configs, you're right, those configs with the previously used 2 image definitions would have failed. I ran the assertoor, ephemery, mev, split-nimbus, split-teku examples locally (discovered one more thing I overlooked when a network participant has 0 keystores). Next, I ran all CL client combinations with all valid One more thing, I added an example config to the tests folder which shows an example of mixed CL / validator client usage. Hope that's okay, it's meant to illustrate the usecase, but feel free to remove it if you want. |
🤖 I have created a release *beep* *boop* --- ## [2.0.0](1.4.0...2.0.0) (2024-03-08) ### ⚠ BREAKING CHANGES * participant_network & rename participant fields. ([#508](#508)) * add node selectors features ([#491](#491)) ### Features * add keymanager to all validator processes ([#502](#502)) ([836eda4](836eda4)) * add nimbus-eth1 ([#496](#496)) ([d599729](d599729)) * add node selectors features ([#491](#491)) ([316d42f](316d42f)) * allow more detailed additional test configurations in assertoor_params ([#498](#498)) ([fe2de7e](fe2de7e)) * enable api in assertoor config ([#495](#495)) ([9ceae9c](9ceae9c)) * enable dencun-genesis ([#500](#500)) ([beb764f](beb764f)) * make snapshot url configurable ([#507](#507)) ([6fa0475](6fa0475)) * parameterize mev-boost args ([#400](#400)) ([e48483a](e48483a)) * separate validator clients from CL clients ([#497](#497)) ([90da2c3](90da2c3)) ### Bug Fixes * fix end index in validator ranges file ([#509](#509)) ([da55be8](da55be8)) * lh vc flag logic ([#506](#506)) ([bc5e725](bc5e725)) * nimbus-eth1 advertise proper extip ([#501](#501)) ([1d5a779](1d5a779)) * README global node selector ([#504](#504)) ([f9343a2](f9343a2)) * use the cl as the default validator image if none are defined ([#503](#503)) ([181dd04](181dd04)) ### Code Refactoring * participant_network & rename participant fields. ([#508](#508)) ([fab341b](fab341b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Separates the validator clients more cleanly from the CL clients. This then allows the use of different combinations of CL/VC clients, e.g. Teku VC with Lodestar CL. The only VC that doesn't work with different beacon nodes is Prysm at the moment.
The
use_separate_validator_client
flag defaults to false for CL clients that can run validators in the same process as the CL (preserving the way thecl_split_mode_enabled
worked before this PR).I believe this can be quite useful to test different VC<->CL combinations for compatibility.