A Ruby script that runs an Ethereum Validator node through a pre flight checklist.
-
Linux - Ubuntu or Debian OS Family
-
Ruby language. In case Ruby is not installed, try one of the 2 options:
-
Via rvm, in case you want more flexible control over the Ruby version. Follow the instructios at https://rvm.io/. Then type
rvm install 3.0.1 -
Directly through the package manager:
sudo snap install ruby
- An ETH1 client, and ETH2 Beacon and Validator clients. Currently this checklist only works with Geth and Prysm. Support for other clients is planned.
-
Clone this repository.
-
In this repository type
bundle installto install Ruby dependencies. -
Type
bin/ethcheck create_configto initialize configuration file for main net orbin/ethcheck create_config_testnetfor testnet. -
The configuration file
config.ymlcontains your local settings, such as names of data directories, user names, ports etc. Edit this file if needed. By default it follows the conventions in Somer Esat's staking guide.
Run bin/ethcheck help to see all available commands.
bin/ethcheck checklist— run all checks and print a reportbin/ethcheck checklist users— check existence of configured usersbin/ethcheck checklist system_checks— check system packages and reboot statusbin/ethcheck checklist timekeeping— check NTP and time synchronizationbin/ethcheck checklist firewall— check UFW firewall status and rulesbin/ethcheck checklist clients— check all client services, versions, and sync status
Note: Some checks require sudo privileges so you may need to enter a password if you are not a superuser.
bin/ethcheck generate services— generate all.servicefiles and copy to system directorybin/ethcheck generate service NAME— generate a single service file (e.g.geth,prysmbeacon)
bin/ethcheck install prysm beacon— install prysmbeacon clientbin/ethcheck install prysm validator— install prysmvalidator clientbin/ethcheck install geth— install and set up gethbin/ethcheck uninstall prysm beacon— uninstall prysmbeacon clientbin/ethcheck uninstall prysm validator— uninstall prysmvalidator clientbin/ethcheck uninstall geth— uninstall geth
bin/ethcheck update prysm beacon— update beacon client to latest versionbin/ethcheck update prysm validator— update validator client to latest versionbin/ethcheck update prysm beacon --static— update using static version fromconfig.ymlbin/ethcheck update prysm validator --static— update using static version fromconfig.yml
-
./consoleto start the console. -
A
checklistobject will be loaded. -
This object has various sub-objects that contain diagnostic methods. Examples:
checklist.clients.geth.version_check, orchecklist.firewall.active?
Warning: Alpha software that has not been fully tested. Recommended for use on a QA or Test server only. Make sure you fully understand this software before running on production server where real ETH is at stake.