Skip to content

Introduce multi-client options#149

Merged
DiogoSantoss merged 23 commits into
mainfrom
oisin/profiles
Aug 27, 2025
Merged

Introduce multi-client options#149
DiogoSantoss merged 23 commits into
mainfrom
oisin/profiles

Conversation

@OisinKyne
Copy link
Copy Markdown

Problem to be solved

We want to make it easy to change client types

Proposed solution

Use docker profiles to enable and disable different client choices.

This PR, when merged requires users to add COMPOSE_PROFILES=el_nethermind,cl_lighthouse,dv_charon,vc_lodestar,mev_mevboost to their .env file for their stack to remain unchanged. Work needs to be completed on this PR to introduce the alternate clients commented out in this pr so far.

@OisinKyne OisinKyne changed the title Draft of profiles work Introduce multi-client options Jun 30, 2025
Comment thread docker-compose.yml Outdated
@OisinKyne OisinKyne marked this pull request as ready for review July 2, 2025 08:17
Copy link
Copy Markdown
Author

@OisinKyne OisinKyne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not allowed approve cause its my PR 😅

Really elegant solution :D has a conflict with main now, and ejector needs to be re-enabled, but I'm down to give this a merge and test on hoodi once we have confidence in grandine (maybe we want to explain the other ones aren't ready yet in case people turn them on, i'm not so worried of that though)

Comment thread compose-cl.yml Outdated
Copy link
Copy Markdown

@aly-obol aly-obol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to keep holesky?

@KaloyanTanev
Copy link
Copy Markdown

KaloyanTanev commented Jul 3, 2025

@aly-obol not really. End of life will be officially end of September, however, I doubt anyone is using it atm. I'd rather delete it in separate PR though.

Comment thread .env.sample.mainnet
Comment on lines +9 to +18
EL=el-nethermind
# Consensus layer client to be used in a DV setup.
# Available options: lighthouse, grandine.
CL=cl-lighthouse
# Validator client to be used in a DV setup.
# Available options: lodestar, nimbus.
VC=vc-lodestar
# MEV client to be used in a DV setup.
# Available options: mevboost, commitboost.
MEV=mev-mevboost
Copy link
Copy Markdown
Author

@OisinKyne OisinKyne Aug 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just looking at this now. I think we should give the explicit lines to comment/uncomment, people might not notice that they need to keep the cl-|vc-|mev- when switching from cl to cl the existing way

Suggested change
EL=el-nethermind
# Consensus layer client to be used in a DV setup.
# Available options: lighthouse, grandine.
CL=cl-lighthouse
# Validator client to be used in a DV setup.
# Available options: lodestar, nimbus.
VC=vc-lodestar
# MEV client to be used in a DV setup.
# Available options: mevboost, commitboost.
MEV=mev-mevboost
EL=el-nethermind
# Consensus layer client to be used in a DV setup. Uncomment only one.
# Available options: lighthouse, grandine.
CL=cl-lighthouse
#CL=cl-grandine
# Validator client to be used in a DV setup. Uncomment only one.
# Available options: lodestar, nimbus.
VC=vc-lodestar
#VC=vc-nimbus
# MEV client to be used in a DV setup. Uncomment only one.
# Available options: mevboost, commitboost.
MEV=mev-mevboost
#MEV=mev-commitboost

@DiogoSantoss DiogoSantoss merged commit 00b9246 into main Aug 27, 2025
3 checks passed
@OisinKyne OisinKyne deleted the oisin/profiles branch February 27, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants