Skip to content

Latest commit

 

History

History
94 lines (66 loc) · 3.47 KB

setup-reth-lighthouse.md

File metadata and controls

94 lines (66 loc) · 3.47 KB

Instructions for manually setting up a node on Ephemery using Reth and Lighthouse.

Prerequisites

Install Rust for your system using rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

During the installation process, choose option 1 for default installation.

For clients' dependencies, see Lighthouse docs and Reth docs.

Download config

cd ~
mkdir testnet-all
cd testnet-all

Download the testnet-all.tar.gz file for the latest release of the Ephemery testnet to this directory using wget. Then unzip inside this folder:

tar -xzf testnet-all.tar.gz

Optional: Generate JWT

A JWT secret file should be used to ensure secure communication between the Execution Client (Reth) and the Consensus client (Lighthouse). This step is optional, if a path to an existing JWT secret file is not set in Reth, the file will be created automatically - in that case, adjust the JWT path for Lighthouse accordingly. Use the following commands, according to the Lighhouse documentation, to manually create a JWT secret in the /secrets folder:

sudo mkdir -p /secrets
openssl rand -hex 32 | tr -d "\n" | sudo tee /secrets/jwt.hex

Execution Layer

Reth can be built from source and also offers pre-built binaries.

See Reth documentation for installation instructions:

Use the following command to initialize the databaze from the Ephemery genesis file:

cd ~
reth init --datadir "~/datadir-reth" --chain "~/testnet-all/genesis.json"

Afterwards, use the following command to run Reth:

    reth node \
    --chain "~/testnet-all/genesis.json" \
    --full \
    --port 30303 \
    --http \
    --datadir "~/datadir-reth" \
    --authrpc.jwtsecret "/secrets/jwt.hex" \
    --bootnodes {bootnodes}

Modify the paths as needed for your own setup.

For {bootnodes} look in ~/testnet-all/boot_enode.txt. Entries must be separated,by,commas and "enclosed in quotes".

Depending on your OS, it may be necessary to add additional flags. Refer to the Reth docs for more details.

Consensus Layer

Lighthouse can be built from source and also offers pre-built binaries.

See Lighthouse documentation for installation instructions:

Run:

lighthouse beacon_node \
    --testnet-dir "~/testnet-all" \
    --datadir "~/datadir-lighthouse" \
    --eth1 \
    --execution-jwt "/secrets/jwt.hex" \
    --execution-endpoint http://localhost:8551 \
    --boot-nodes {bootnodes}

For {bootnodes} look in ~/testnet-all/boot_enr.txt. Entries must be separated,by,commas and "enclosed in quotes".

A note on Ephemery environment variables

As an alternative to manually copying and pasting Ephemery variables into the above commands, you can simply source the relevant Ephemery environment variables and load them to the shell session prior to running the clients.