Skip to main content

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:

  1. Add a template under templates/services/merge/consensus/ that contains all the docker compose parts for run that new client.
  2. 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
  1. Update the script that checks for updates on the images at scripts/check-image-updates.sh.
  2. Update documentation, including all the references on docs/docs folder, that are going to be displayed on Sedge official documentation, and on the Readme.md
  3. 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:

  1. Add a template under templates/services/merge/execution/ that contains all the docker compose parts for run that new client.
  2. 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
  1. Update the script that checks for updates on the images at scripts/check-image-updates.sh.
  2. Update documentation, including all the references on docs/docs folder, that are going to be displayed on Sedge official documentation, and on the Readme.md
  3. Add entry on the CHANGELOG.md
  4. Run tests, and add new tests if needed.

Adding a Validator Client

While adding a Validator Client, you should follow these steps:

  1. Add a template under templates/services/merge/validator/ that contains all the docker compose parts for run that new client.
  2. 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.
  3. 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.
  1. Update the script that check for updates on the images at scripts/check-image-updates.sh.
  2. Update documentation, including all the references on docs/docs folder, that are going to be displayed on Sedge official documentation, and on the Readme.md
  3. Add entry on the CHANGELOG.md
  4. Run tests, and add new tests if needed.
  5. Create a PR with your changes, and we will review it as soon as possible.