Skip to content

Node Setup

  • client PC will have the ethereum-node helper scripts installed and configured
  • node server will also have the helper scripts installed and configured
  • node server will be running geth (EL), prysm-beacon (CL) as services
  • you will be ready to setup one or more validators

As in the initial setup guide, this guide is written using the following configurable values:

  • node server SSH port: 55522
  • node server hostname: eth-node-mainnet

All of these steps are performed on the client PC. Most of the work is performed by helper scripts; you just need to run them in the correct order.

Terminal window
sudo apt install -y git
cd
git clone https://github.com/CoeJoder/ethereum-node.git
Terminal window
cd ethereum-node
# generate `env.sh`
./tools/setup-env.sh
# change the default values as needed
# for example, you may need to customize the ports if multiple nodes are connected to the same router
# these values will be used throughout the rest of the project and should only be set this once
# `suggested_fee_recipient` and `withdrawal` should be set now if you plan on running a validator
nano ./src/env.sh
Terminal window
# copy the scripts to the node server, in directory `~/ethereum-node/`
./tools/deploy.sh
Terminal window
ssh -p 55522 eth-node-mainnet
cd ethereum-node
# display all environment variables and confirm they are correct
# if changes are needed, logout and make the changes in the client PC's `env.sh` and run `deploy.sh` again
./print-env.sh
# after reviewing, stay logged in for the next steps
Terminal window
# set firewall's rules and enable it
# answer "y" to any continuation prompts
./setup-firewall.sh
Terminal window
# install EL and CL, and configure them to run as services
./setup-node.sh
# install prysmctl, a CLI utility for common node tasks
./setup-prysmctl.sh
# install ethdo & ethereal, CLI utilities for common Ethereum blockchain tasks
./setup-ethdo.sh
Terminal window
# start each service and follow its log
# press `ctrl + c` to exit the log
./enable-geth.sh
./enable-beacon.sh

You are now ready for validator setup.