> For the complete documentation index, see [llms.txt](https://dvt-homestaker.stakesaurus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dvt-homestaker.stakesaurus.com/replacement-steps-mainnet/replacements.md).

# Replacements

## Clean-up testnet data

First, stop all existing clients running on the Holesky testnet.

```sh
sudo systemctl stop "execution_client.service"
sudo systemctl stop "consensus_client.service"
sudo systemctl stop "validator_client.service"
```

Additionally, for Lodestar users:

```sh
cd ~/lodestar_beacon
docker compose down
```

```sh
cd ~/validator
docker compose down
```

Then remove all existing data from client data directories. Select the ones relevant to your setup:

```sh
#Nethermind
sudo rm -r /var/lib/nethermind/*
#Besu
sudo rm -r /var/lib/besu/*
#Teku consensus
sudo rm -r /var/lib/teku_beacon/*
#Nimbus consensus
sudo rm -r /var/lib/nimbus_beacon/*
#Lodestar consensus
sudo rm -r /var/lib/lodestar_beacon/*
#Teku validator
sudo rm -r /var/lib/teku_validator/*
#Nimbus validator
sudo rm -r /var/lib/nimbus_validator/*
#Lodestar validator
sudo rm -r /var/lib/lodestar_validator/*
```

## Execution clients

1. Optionally, change the `Description` to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.
   * Description=Nethermind/Besu Execution Client (Mainnet)
2. Set the network parameter in the systemd configuration files from `holesky` to `mainnet` - e.g.

   ```sh
   sudo nano /etc/systemd/system/"execution_client.service"
   ```

   * **Nethermind:** `--config mainnet`
   * **Besu:** `--network=holesky`

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/fFMPQr8NuJnyMjNpSSqb" %}
[Set up and configure execution layer client](/installing-and-configuring-your-el+cl-clients/set-up-and-configure-execution-layer-client.md)
{% endcontent-ref %}

## Consensus clients

1. Optionally, change the `Description` to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.
   * Description=Teku/Nimbus/Lodestar Consensus Client (Mainnet)
2. Set the network parameter in the systemd configuration or docker-compose.yml files from `holesky` to `mainnet` - e.g.

   ```sh
   sudo nano /etc/systemd/system/"consensus_client.service"
   ```

   * **Teku** (systemd): `--network=holesky`
   * **Nimbus** (systemd): `--network=holesky`
   * **Lodestar** (docker-compose.yml):&#x20;

     ```sh
     sudo nano ~/lodestar_beacon/docker-compose.yml
     ```

     * Amend `--network` flag

       ```
             - --network
             - mainnet
       ```
3. Set the checkpoint sync parameter in the systemd configuration or docker-compose.yml files from a `holesky` endpoint to `mainnet` - e.g.
   * **Teku** (systemd): `--initial-state=`
   * **Nimbus:** Re-run the checkpoint sync process on the mainnet separately.

     ```sh
     sudo /usr/local/bin/nimbus_beacon_node trustedNodeSync --network=mainnet --data-dir=/var/lib/nimbus_beacon --trusted-node-url=https://beaconstate.ethstaker.cc/ --backfill=false
     ```
   * **Lodestar** (docker-compose.yml):&#x20;

     ```
           - --checkpointSyncUrl
           - https://beaconstate.ethstaker.cc
     ```

{% hint style="info" %}
Choose one of the mainnet checkpoint sync URLs here - <https://eth-clients.github.io/checkpoint-sync-endpoints/>
{% endhint %}

Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/WUnWqfxwlYe5PL9Rg7T6" %}
[Set up and configure consensus layer client](/installing-and-configuring-your-el+cl-clients/set-up-and-configure-consensus-layer-client.md)
{% endcontent-ref %}

## MEV-Boost

1. Remove the `-holesky` flag in the systemd configuration file
2. Replace the URLs for your relays (`-relay` flag) with Mainnet ones.

```sh
sudo nano /etc/systemd/system/mevboost.service
```

Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/Y2PN1jhI4eawhg4g3ze2" %}
[Set up and configure MEV-boost](/keystore-generation-and-mev-boost/set-up-and-configure-mev-boost.md)
{% endcontent-ref %}

## Validator clients

1. Optionally, change the `Description` to Mainnet in the systemd configuration or docker-compose.yml for clarity - e.g.
   * Description=Teku/Nimbus/Lodestar Validator Client (Mainnet)
2. Set the network parameter in the systemd configuration or docker-compose.yml files from `holesky` to `mainnet` - e.g.

   ```sh
   sudo nano /etc/systemd/system/"validator_client.service"
   ```

   * **Teku** (systemd): `--network=holesky`
   * **Nimbus** (systemd): No changes required
   * **Lodestar** (docker-compose.yml):&#x20;

     ```sh
     sudo nano ~/lodestar_validator/docker-compose.yml
     ```

     * Amend `--network` flag

       ```
             - --network
             - mainnet
       ```

Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/yoh6eFpvKGFo82aqayhf" %}
[Validator client setup](/native-solo-staking-setup/validator-client-setup.md)
{% endcontent-ref %}

## Validator key generation

Generate a new validator signing keystore and deposit data set for mainnet use.

After following all prior steps, re-run the deposit key generation process while setting the `--chain` flag to `mainnet`.

#### Build from source method

```sh
python3 ./staking_deposit/deposit.py new-mnemonic --num_validators <number> --chain mainnet --eth1_withdrawal_address <YourWithdrawalAaddress>
```

#### Executable binaries method

```sh
./deposit new-mnemonic --num_validators <number> --chain mainnet --eth1_withdrawal_address <YourWithdrawalAaddress>
```

Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/xKRzukcuy2WXF2GE7amh" %}
[Validator key generation](/keystore-generation-and-mev-boost/validator-key-generation.md)
{% endcontent-ref %}

## Depositing 32 ETH

Go to [https://launchpad.ethereum.org](https://launchpad.ethereum.org/) to complete the deposit process. Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/Vpm9jyJ0G3V1FF2vmIFt" %}
[Depositing 32 ETH into your validator](/native-solo-staking-setup/depositing-32-eth-into-your-validator.md)
{% endcontent-ref %}

{% hint style="info" %}
Triple check that the launch pad URL is pointing to the Mainnet and not the Holesky testnet.
{% endhint %}

## Monitoring

#### Beaconcha.in app

Go to <https://beaconcha.in> instead and repeat all steps. Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/XrqiBwzsBRl9jD8nZFcU" %}
[Beaconcha.in App API](/monitoring-maintenance-and-updates/set-up-monitoring-suite/beaconcha.in-app-api.md)
{% endcontent-ref %}

## Diva Staking Setup

{% hint style="info" %}
Coming soon!
{% endhint %}

Jump to section for reference below.

{% content-ref url="/spaces/oML8XLjdWBoYbtGBoQ9R/pages/4QB2MghOxYLnSva5TUNZ" %}
[DVT Setup](/dvt-setup/diva-staking.md)
{% endcontent-ref %}
