Running Eth2 Sepolia Testnet node

Objective here is to deploy an Sepolia testnet node and merge it with Sepolia lighthouse testnet as a working Eth2 testnet.

Deploying Eth1 Sepolia Node

To get start, first off we will deploy a geth node as instructed in following post:

I personally prefer to run background processes like geth and lighthouse in tmux instead of a service but this is up to your taste. You can get started by creating a user, preferably called sepolia using adduser sepolia command.

Start a tmux screen to run geth with custom ports:

tmux new -s geth
geth --sepolia --port 30313 --http --http.port 18545 --http.api eth,net,web3,debug --ws --ws.port 18546 --authrpc.port 18551

If you are unfimiliar with tmux, you can simply detach from the screen by pressing ctrl+b and then typing :detach to exit from tmux screen without terminating the process.

If you plan to run multiple Ethereum networks in a single server (i.e. a sepolia testnet and mainnet), you are therefore required to use custom ports for network and HTTP/RPC functionalities. Ethereum’s default port is 30303 which should be open for all communications, so it can be discovered by other peers.

Deploying Eth2 Sepolia Node

Instructions to install lighthouse can be found here:

Start a tmux screen to run lighthouse with custom ports:

tmux new -s lighthouse
lighthouse beacon_node --network sepolia --port 19001 --http --http-port 15052 --execution-endpoints --jwt-secrets ~/.ethereum/sepolia/geth/jwtsecret

and then :detach simply.

Attach to Console

Simply use following command to attach to geth console:

geth --sepolia attach

Important Notes

  • You can return to your tmux sessions using following commands:
    • tmux attach -t geth
    • tmux attach -t lighthouse
  • geth command’s default data directory is ~/.ethereum while same for lighthouse is ~/.lighthouse. Use ls -a inside user’s home directory to see.
  • Your geth client will not sync, until consensus client which is lighthouse has synced. During this while, you will constantly see following message in geth logs:
    beacon client online, but never received consensus updates.
  • A neat trick to check if your deployed node is syncing properly is to check the size of data directories. For example, du -h ~/.lighthouse with interval of few seconds or a minute will help you determine if sync process is going on.
Leave a Reply

Your email address will not be published. Required fields are marked *

Deploying an Ethereum 2.0 Lighthouse node

Deploying an Ethereum 2.0 Lighthouse node

Lets get right into it: Eth2 protocol is diverse which therefore gives us option