2 Consensus Client and Execution Client

To participate as a validator, a user must deposit 32 ETH into the deposit contract and run three separate pieces of software: an execution client, a consensus client with validator(s) imported.
https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/#validators

It mentions that you need:

  • consensus client and
  • execution client

to run an Ethereum node.

Therefore I chose one codebase for each client and I ended up with:

client name version
Execution client geth v1.11.2
Consensus client lodestar v1.5.1

'geth' is the most famous and oldest(?) Ethereum client, so there are be plenty documentations and QAs online. 'lodestar' is one of the consensus client, and I chose it mainly because I'm more familiar with the language JavaScript.