Launch validator instance / validator(s)
Validators are defined by validator keys. Based on the network you are going to stake on, check Gnosis validator keys / Ethereum validator keys generation guide.
- :
- :
-
Validator Instance service config
- :
- :
- :
-
Do you want to create a new validation instance or extend exisiting instance for more validators?
Create a directory for validator instance data
sudo mkdir -p /var/lib/lighthouse/vi1
-
Load keystores to
:/var/lib/lighthouse/vi1
sudo /usr/local/bin/lighthouse --network mainnet account validator import --reuse-password --directory $HOME/keystores/ddk_i1 --datadir /var/lib/lighthouse/vi1
sudo /usr/local/bin/lighthouse --network gnosis account validator import --reuse-password --directory $HOME/keystores/ddk_i1 --datadir /var/lib/lighthouse/vi1
- Insert keystores encryption password (the one used during keystores generation) on request
- If there are keystores with different encryption password, repeat the process for each encryption password
Create a service user for the validator instance
sudo useradd --system --no-create-home --shell /bin/false lighthouse-vi1
Set ownership of
/var/lib/lighthouse/vi1
tovalidators-i1
usersudo chown -R lighthouse-vi1:lighthouse-vi1 /var/lib/lighthouse/vi1
Create configuration service file for
lighthouse-vi1
service-
Open the configuration file
sudo nano /etc/systemd/system/lighthouse-vi1.service
-
Copy the configuration below into the file.
[Unit] Description=Lighthouse Validator Instance (Mainnet) Wants=network-online.target After=network-online.target [Service] User=lighthouse-vi1 Group=lighthouse-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/lighthouse vc \ --network mainnet \ --datadir /var/lib/lighthouse/vi1 \ --suggested-fee-recipient 0xXXXXXXXXXXXXXXXX \ --beacon-nodes http://localhost:5052 \ --graffiti "Nethermind+Lighthouse" [Install] WantedBy=multi-user.target
[Unit] Description=Lighthouse Validator Instance (Gnosis Network) Wants=network-online.target After=network-online.target [Service] User=lighthouse-vi1 Group=lighthouse-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/lighthouse vc \ --network gnosis \ --datadir /var/lib/lighthouse/vi1 \ --suggested-fee-recipient 0xXXXXXXXXXXXXXXXX \ --beacon-nodes http://localhost:5052 \ --graffiti "Nethermind+Lighthouse" [Install] WantedBy=multi-user.target
-
Press
CTRL
+X
thenY
thenENTER
to save and exit the config file.
-
Stop running validator instance
lighthouse-vi1
sudo systemctl stop lighthouse-vi1
Extend
/var/lib/lighthouse/vi1
for new keystoressudo /usr/local/bin/lighthouse --network mainnet account validator import --reuse-password --directory $HOME/keystores/ddk_i1 --datadir /var/lib/lighthouse/vi1
sudo /usr/local/bin/lighthouse --network gnosis account validator import --reuse-password --directory $HOME/keystores/ddk_i1 --datadir /var/lib/lighthouse/vi1
- You will be requested to insert keystores encryption password (the one used during keystores generation)
- If there are keystores with different encryption password, repeat the process for each encryption password
- Already existing keystores in the directory will be skipped
-
Load processed changes to the system
sudo systemctl daemon-reload
-
Start the validator instance
sudo systemctl start lighthouse-vi1
-
Check the running validator instance
systemctl status lighthouse-vi1
journalctl -fu lighthouse-vi1
-
Activate service to start automatically on system startup
sudo systemctl enable lighthouse-vi1
Note
This option requires the following installed utils:
A guide to install the util is attached on the Github.
- Open Delayed Start shell
sudo nano /usr/local/bin/delayed-start.sh
Configurate service start inside it
systemctl start lighthouse-vi1.service
- Be sure,
delayed-start.service
service controllingdelayed-start.sh
is enabled for auto start with system startupsudo systemctl enable delayed-start.service
Note
This option requires the following installed utils:
A guide to install each util is attached on the Github.
Configurate Staking Manager util
- Open the configuration file
sudo nano /usr/local/etc/staking/config/clients.conf
If the file is empty, generate it with command
sudo /usr/local/bin/staking.sh init
- Set link to proper service. It should be as follow:
validatorServices="lighthouse-vi1"
If you place more services to the category, separate them with a space, see
validatorServices="service1 service2 service3 ..."
- Open the configuration file
-
Activate service to start automatically on OS startup
- Open Start with delay util
sudo nano /usr/local/bin/delayed-start.sh
- Place or uncomment a command to start the validator client(s)
/usr/local/bin/staking.sh start validators
- Verify, that a service `
delayed-start.service
` exists and is automatically launched on system start.sudo systemctl enable delayed-start.service
- Open Start with delay util
- Open Delayed Start shell