How to install Ethereum full node for ETH2.0

To set up your ETH :eth: fullnode, you can use this simple script. This method supports The Merge (ETH 2.0) using Lighthouse as Consensus Layer & GETH as Execution Layer.

Requirements

  • Dedicated Server with Ubuntu 20.04
  • 2TB SSD storage
  • 32GB RAM (64GB recommended)
  • 8 cores of CPU (16 cores recommended)

Preparations

Download tmux and open a session so we can run this in the background without interruptions regardless of our SSH connection. After this, the script will take care of the rest.

apt install tmux -y && tmux new -s EthNodeSetup

If your SSH connection gets interrupted, you can log in to your server again and re-attach to your the tmux session with this command:

tmux a -t EthNodeSetup

To detach from the session, if you need to do other stuff press Ctrl + B, followed by D. You can re-attach again anytime using the command above. Tmux: cheatsheet.

:stop_sign: If for any reason you want to cancel the setup, press Ctrl + C to stop the script.

Install Geth

Completing sync will take about 24 hours. Keep in mind this script will try to delete old geth/lighthouse configurations. It will ask to install Lighthouse, please answer with yes (y) if you do not have Lighthouse running already.

cd; rm eth.sh; rm eth.sh.* ; wget https://alphapack.finance/scripts/eth/eth.sh && chmod +x eth.sh ; /bin/bash eth.sh || ./eth.sh

Install Lighthouse

If you didn’t install Lighthouse at the previous step, you can do it now. Completing sync will take about 12 hours. This will continue in the background.

cd; rm lighthouse.sh; rm lighthouse.sh.* ; wget https://alphapack.finance/scripts/eth/lighthouse.sh ; chmod +x lighthouse.sh; /bin/bash lighthouse.sh || ./lighthouse.sh

Press Ctrl + C to stop tailing the logs.

Useful commands

Tail your GETH logs

journalctl -u ethnode -f

Tail Lighthouse Beacon logs

journalctl -f -u lighthousebeacon.service

Check geth syncing status

After setup press Ctrl + C to stop tailing logs. Enter the following command to see the blocks remaining, connected peers, and progress in percentage.

cd; rm monitoreth.sh ; rm monitoreth.sh.* ; wget https://alphapack.finance/scripts/eth/monitoreth.sh ; chmod +x monitoreth.sh ; /bin/bash monitoreth.sh || ./monitoreth.sh

Also see: How to check geth syncing status? How long does it take?

Access your node

RPC endpoint: http://your-server-ip:8545
WebSocket: ws://your-server-ip:8546