Adding new Clients
We can add new Consensus, Execution or Validator clients to Sedge, you will mostly only need to add a few config files here and there.
Adding a Consensus Client
While adding a Consensus Client, you should follow these steps:
- Add a template under
templates/services/merge/consensus/
that contains all the docker compose parts for run that new client. - Add what is going to be the environment vars for the docker compose file under each of the supported networks for this new client, for example:
templates/envs/[network]/consensus/new_client.tmpl
- Update the script that checks for updates on the images at
scripts/check-image-updates.sh
. - Update documentation, including all the references on
docs/docs
folder, that are going to be displayed on Sedge official documentation, and on theReadme.md
- Add entry on the
CHANGELOG.md
Adding an Execution Client
You can follow as an example this PR, that adds Erigon to the supported Execution Clients.
The most important things to add:
- Add a template under
templates/services/merge/execution/
that contains all the docker compose parts for run that new client. - Add what is going to be the environment vars for the docker compose file under each of the supported networks for this new client, for example:
templates/envs/[network]/execution/new_client.tmpl
- Update the script that checks for updates on the images at
scripts/check-image-updates.sh
. - Update documentation, including all the references on
docs/docs
folder, that are going to be displayed on Sedge official documentation, and on theReadme.md
- Add entry on the
CHANGELOG.md
- Run tests, and add new tests if needed.
Adding a Validator Client
While adding a Validator Client, you should follow these steps:
- Add a template under
templates/services/merge/validator/
that contains all the docker compose parts for run that new client. - Make sure to add any necessary code for the validator keystore import service. Make your chances in the
cli/actions/importKeys.go
file and check how has been done for other validators. The service should import properly all the keystores in the right place. - Add what is going to be the environment vars for the docker compose file under each of the supported networks for this new client, for example:
templates/envs/[network]/validator/new_client.tmpl
.
- Update the script that check for updates on the images at
scripts/check-image-updates.sh
. - Update documentation, including all the references on
docs/docs
folder, that are going to be displayed on Sedge official documentation, and on theReadme.md
- Add entry on the
CHANGELOG.md
- Run tests, and add new tests if needed.
- Create a PR with your changes, and we will review it as soon as possible.