A Ruby script that runs an Ethereum Validator node through a pre flight checklist.
Requirements
-
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.
Installation
-
Clone this repository.
-
In this repository type
bundle install
to install Ruby dependencies. -
Type
rake create_config
to initialize configuration file for main net orrake create_config_testnet
for testnet. -
The configuration file
config.yml
contains 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.
Usage
Perform checks via Rake tasks
-
rake -T
will show all available tasks. -
rake checklist
will go through the entire checklist and report the failed checks. Note: Some of the checks require sudo priviledges so you may need to enter a password if you are not a superuser.
Perform checks manually via Ruby console
-
./console
to start the console. -
A
checklist
object will be loaded. -
This object has various sub-objects that contain diagnostic methods. Examples:
checklist.clients.geth.version_check
, orchecklist.firewall.active?
Credits
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.