Checklist | Confirming a healthy functional ETH staking node

Scenario: How do I figure out and confirm that everything is working properly (execution client in sync, consensus client in sync, etc.)

Quick steps guide

The following steps align with our mainnet guide. You may need to adjust file names and directory locations where appropriate. The core concepts remain the same.

🚀 Execution client Checklist

ConcernSolution

Execution client in sync

Ensure your node's block number matches the tip block of a public block explorer. Find your execution client block # with command journalctl -fu execution

Example log output:INFO [12-06

Ports open

Confirm ports are reachable with an external port checker such as

https://www.yougetsignal.com/tools/open-ports/

Check execution client logs for errors

Use the command journalctl -fu eth1

Understand how to stop/start Execution client

sudo systemctl stop execution

sudo systemctl start execution

Understand how to update my Execution client

Reduce bandwidth usage

Execution client node redundancy

🧬 Consensus client Checklist

ConcernSolution

Installed latest stable release

Beacon chain client can connect to Execution client

Check for a response with the command:curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://localhost:8545

You should receive a response similar to:

{"jsonrpc":"2.0","id":67,"result":"Geth/v1.9.24-stable-cc05b050/linux-amd64/go1.15.5"}

Beacon chain is sync'd to mainnet

Ensure your block number matches the slot# of a public block explorer. Find your consensus client's beacon chain slot # with in logs with command journalctl -fu beacon-chain

Check consensus client's beacon chain logs for errors

Use the command journalctl -fu consensus

Ports open

Confirm ports are reachable with an external port checker such as

https://www.yougetsignal.com/tools/open-ports/ or https://canyouseeme.org/ .

Click here for Port # information.

Understand how to stop/start consensus client

sudo systemctl stop consensus

sudo systemctl start consensus

Understand how to update my consensus client

Refer to this quick guide.

Join Discord

🗝️ Consensus Validator Client Checklist

ConcernSolution

Verify keystores are properly imported

Refer to the mainnet guide's section on importing keys.

Check validator logs for errors

Use the command journalctl -fu validator

Verify attestations are working

Check your validators pubkey against a public block explorer.

Verified my mnemonic phrase can be restored.

Understand how to add more validators

Refer to this quick guide.

Know how to stop/start validator

sudo systemctl stop validator

sudo systemctl start validator

Beacon-node redundancy

🧱 Validator Node Security Checklist

ConcernSolution

Secure the root account

Refer to the best security practices document.

Connect with SSH Keys Only

Refer to the best security practices document.

Harden SSH on a random port

Refer to the best security practices document.

Setup 2-FA for SSH (Optional)

Refer to the best security practices document.

Secure the Shared Memory

Refer to the best security practices document.

Setup a firewall

Refer to the best security practices document.

Setup port forwarding on my router

Refer to the best security practices document.

Setup intrusion-prevention monitoring

Refer to the best security practices document.

Whitelisted my local machine in the ufw firewall

Refer to the best security practices document.

Whitelisted my local machine in Fail2ban

Refer to the best security practices document.

Verify the listening ports

Refer to the best security practices document.

🚦 Validator Node Maintenance and Best Practices Checklist

ConcernSolution

Enabled automatic OS patching

Refer to the best security practices document.

Setup chrony or other NTP time sync service

Refer to the mainnet guide.

Setup Prometheus and Grafana Monitoring/Alerts/Dashboard

Refer to the mainnet guide.

Understand how to handle a power outage

In case of power outage, you want your validator machine to restart as soon as power is available. In the BIOS settings, change the Restore on AC / Power Loss or After Power Loss setting to always on. Better yet, install an Uninterruptable Power Supply (UPS).

Understand how to migrate consensus clients

Refer to the mainnet guide.

Understand how to voluntary exit

Refer to the mainnet guide.

Used all available LVM disk space

Refer to the mainnet guide.

Understand important directory locations

Refer to the mainnet guide.

Last updated