> For the complete documentation index, see [llms.txt](https://docs.eridian.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eridian.xyz/ethereum-dev/infrastructure/client-software/execution-clients.md).

# Execution Clients

{% content-ref url="/pages/G0JCzPCPOmtNoHFY9SPW" %}
[Geth](/ethereum-dev/infrastructure/client-software/execution-clients/geth.md)
{% endcontent-ref %}

{% content-ref url="/pages/vnnE8Axvk3YVm3nobgvL" %}
[Erigon](/ethereum-dev/infrastructure/client-software/execution-clients/erigon.md)
{% endcontent-ref %}

{% content-ref url="/pages/Ui4PZMWu71UFe7QaVqFy" %}
[Besu](/ethereum-dev/infrastructure/client-software/execution-clients/besu.md)
{% endcontent-ref %}

## Process - Changing Clients

1. Stop old client.
2. Disable old client.
3. Delete old client data.
4. Enable new client.
5. Start new client.

## UFW Config

Configure the firewall.

{% code title="Execution Clients" %}

```bash
EXECUTION_P2P_PORT=        # Default: 30303
EXECUTION_WS_PORT=         # Default: 8546
EXECUTION_METRICS_PORT=    # Default: 6060
EXECUTION_RPC_PORT=        # Default: 8545

sudo ufw allow ${EXECUTION_P2P_PORT} comment 'Allow Execution P2P in'
sudo ufw allow ${EXECUTION_WS_PORT} comment 'Allow Execution WS in'
sudo ufw allow ${EXECUTION_METRICS_PORT} comment 'Allow Execution Metrics in'
sudo ufw allow ${EXECUTION_RPC_PORT} comment 'Allow Execution RPC Port in'
```

{% endcode %}

## Create JWT Secret

This is now shared between all clients on the same machine.

```bash
sudo openssl rand -hex 32 | tr -d "\n" > "/tmp/jwtsecret"
sudo mv /tmp/jwtsecret /var/lib/
sudo chmod +r /var/lib/jwtsecret
```

## Execution Service Environment Variables

```bash
sudo vim /etc/default/execution-variables.env
```

{% code fullWidth="false" %}

```ini
NETWORK=                               # E.g. mainnet or holesky
EXECUTION_P2P_PORT=                    # Default: 30303
EXECUTION_MAX_PEERS=                   # Default: 50
EXECUTION_WS_ADDR=                     # e.g. 0.0.0.0
EXECUTION_WS_PORT=                     # Default: 8546
EXECUTION_RPC_ADDR=                    # e.g. 0.0.0.0
EXECUTION_RPC_PORT=                    # Default: 8545
EXECUTION_METRICS_ADDR=                # e.g. 0.0.0.0
EXECUTION_METRICS_PORT=                # Avoid 6060 clash with pprof: 6061
NGINX_PROXY_EXECUTION_METRICS_PORT=    # Unified metrics port e.g. 6062
```

{% endcode %}
