Skip to main content

Ethereum on ARM

Ethereum on ARM offers a custom Linux image for ARM64 devices (Raspberry Pi 5, Rock 5B, NanoPC T6, and Orange Pi 5 Plus) that comes pre-configured for running Ethereum nodes. It includes a specific package ls-lido to simplify setting up Lido CSM validators.

info

This guide assumes you have a supported ARM64 device with the Ethereum on ARM image already installed and running.

Prerequisites

  • A supported ARM64 device with the Ethereum on ARM image installed (see above link for installation).
  • Validator keys generated (see "Creating Validator Keys" below).

Running CSM on Mainnet

First, ensure the ls-lido package is installed on your node:

sudo apt-get update && sudo apt-get install ls-lido

You need to run a Full or Archive Ethereum node. This follows the standard process for Ethereum on ARM, but you must enable MEV Boost on the Beacon Chain and start a MEV Boost server to meet Lido CSM requirements.

  1. Start Execution Client: Choose your preferred Execution Client and start it.

    sudo systemctl start nethermind
  2. Start Consensus Client: Choose your preferred Consensus Client and start it.

    sudo systemctl start lighthouse-beacon-mev
    warning

    Ensure you use the service name with the -mev suffix (e.g., lighthouse-beacon-mev, prysm-beacon-mev, teku-beacon-mev) to enable MEV, which is required for running CSM validators.

  3. Start MEV Boost:

    sudo systemctl start mev-boost

Creating Validator Keys

To generate your validator keys, please refer to the Key Generation for Mainnet guide.

Importing Keys and Starting the Validator

note

For more details on importing keys, refer to the Ethereum on ARM Validator Client guide.

  1. Import Keys: Transfer your keys to the node if generated on your desktop. Run the import command for your client.

    lighthouse account validator import --directory=/home/ethereum/validator_keys -d /home/ethereum/.lighthouse-validator-lido
  2. Start Validator with Lido Config: Start the validator service that includes the Lido configuration (look for lido in the service name).

    sudo systemctl start lighthouse-validator-lido
    warning

    The lido argument/suffix is essential as it applies the specific configuration required for Lido CSM.

Create and Activate the CSM Validator

For instructions on how to upload your deposit data and activate your validator, please refer to the CSM Activation guide.

Running CSM on Hoodi Testnet

You can test the setup on the Hoodi testnet as well. The process is the same, you just need to adjust the network parameter for each client using the hoodi suffix.

  1. Start Clients on Testnet:

    sudo systemctl start nethermind-hoodi
    sudo systemctl start lighthouse-beacon-hoodi-mev
    sudo systemctl start mev-boost-hoodi
  2. Generate Keys for Hoodi: Follow the testnet instructions in the Key Generation guide (selecting Hoodi network).

  3. Import and Start on Testnet:

    lighthouse account validator --network hoodi import --directory=/home/ethereum/validator_keys -d /home/ethereum/.lighthouse-validator-lido
    sudo systemctl start lighthouse-validator-hoodi-lido
  4. CSM Testnet Portal: https://csm.testnet.fi