# Step 3: Installing execution client

## Pick an execution client

Your choice of either [**Geth**](https://geth.ethereum.org)**,** [**Besu**](https://besu.hyperledger.org)**,** [**Nethermind**](https://www.nethermind.io)**, or** [**Erigon**](https://github.com/ledgerwatch/erigon)**.**

{% hint style="warning" %}
Only one execution client is required per node.
{% endhint %}

**Execution Client Diversity** - To strengthen Ethereum's resilience against potential attacks or consensus bugs, it's best practice to run a minority client in order to increase client diversity. Find the latest distribution of execution clients here: [https://clientdiversity.org](https://clientdiversity.org/)

<figure><img src="https://4046814935-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M5KYnWuA6dS_nKYsmfV-887967055%2Fuploads%2Fqrwc7A6uFHZzzSU5sMM1%2Fclidiv.png?alt=media&#x26;token=478b1cd0-142f-4150-beb4-fecf24a853f5" alt=""><figcaption><p>May 2023 Client Diversity</p></figcaption></figure>

{% hint style="info" %}
:shield: **Recommendation** :shield:: Nethermind
{% endhint %}

{% hint style="warning" %}
**Reminder**: Ensure you are logged in and execute all steps in this guide as non-root user, `ethereum ,`created during Step 2: Configuring Node.
{% endhint %}

**Nethermind** is built on .NET core. Nethermind makes integration with existing infrastructures simple, without losing sight of stability, reliability, data integrity, and security.

{% content-ref url="step-3-installing-execution-client/nethermind" %}
[nethermind](https://www.coincashew.com/coins/overview-eth/archived-guides/guide-or-how-to-setup-a-validator-on-eth2-testnet-prater-1/step-3-installing-execution-client/nethermind)
{% endcontent-ref %}

**Hyperledger Besu** is written in Java and is anopen-source Ethereum client designed for demanding enterprise applications requiring secure, high-performance transaction processing.

{% content-ref url="step-3-installing-execution-client/besu" %}
[besu](https://www.coincashew.com/coins/overview-eth/archived-guides/guide-or-how-to-setup-a-validator-on-eth2-testnet-prater-1/step-3-installing-execution-client/besu)
{% endcontent-ref %}

**Geth** - Go-ethereum (aka Geth) is an Ethereum client built in Go. It is one of the original and most popular Ethereum clients.

{% content-ref url="step-3-installing-execution-client/geth" %}
[geth](https://www.coincashew.com/coins/overview-eth/archived-guides/guide-or-how-to-setup-a-validator-on-eth2-testnet-prater-1/step-3-installing-execution-client/geth)
{% endcontent-ref %}

**Erigon** is an implementation of Ethereum innovating on the efficiency frontier, written in Go.

{% content-ref url="step-3-installing-execution-client/erigon" %}
[erigon](https://www.coincashew.com/coins/overview-eth/archived-guides/guide-or-how-to-setup-a-validator-on-eth2-testnet-prater-1/step-3-installing-execution-client/erigon)
{% endcontent-ref %}
