Open pablomendezroyo opened 5 days ago
hey @filoozom, can we help in anything to have this done as soon as possible? It has become a blocker for us. Tagging you because you seem in charge of this repo :eyes:
hey @filoozom, can we help in anything to have this done as soon as possible? It has become a blocker for us. Tagging you because you seem in charge of this repo 👀
What specifically is the issue? While these are now 2 different images, as far as I know you should still run the validator inside the beacon chain client in a single process for efficiency reasons if you're running these on the same host like it has always been the case.
Those images have existed for years now, but there's no need to use both and Nimbus actually discourages it: https://nimbus.guide/validator-client.html
@filoozom In dappnode we are internally migrating our staking clients (like nimbus) from single-network repos to "generic" repos. This enables us to reuse the shared code accross the different networks (mainnet, holesky, gnosis, lukso..). Since all other consensus clients run the validator in a single client, we recently adopted nimbus separation of validator.
Having a different docker image that runs beaconchain & validator in the same process depending on network is a blocker for us. We will try to be more flexible in the future, but for now we can't.
The generic nimbus repo: https://github.com/dappnode/DAppNodePackage-nimbus-generic
I get making the repos generic, but you're running on one single machine. Running Nimbus with two different processes is not recommended and less performant. Using one single process is also supported on all networks, and there's no code you can reuse from other clients, so I don't see how that makes sense.
That being said, I need to look into it, and with Devcon coming up it's not likely to happen before end of this month. If you want to help, I'd accept a PR that builds the validator client either in the same image or is a different one, as you prefer. The former is likely quite a bit easier. It looks like just adding nimbus_validator_client
to https://github.com/gnosischain/gnosis-nimbus-eth2/blob/main/.github/workflows/release.yaml#L83 might just do it, but in any case some testing would be required.
The Nimbus team has implemented separated docker images for the beaconchain and the validator:
statusim/nimbus-validator-client
statusim/nimbus-eth2
It would be great to have the same in the nimbus-gnosis docker images.