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/nimbus/vi1
-
Load keystores to
:/var/lib/nimbus/vi1
sudo /usr/local/bin/nimbus-validator import data-dir=/var/lib/nimbus/vi1 $HOME/keystores/ddk_i1
NOTE: If you have used different passwords for each of your validators you will get an error. Run the process multiple times, providing each of the different passwords until they are all imported. Use the accounts list command to verify.
Create a service user for the validator instance
sudo useradd --system --no-create-home --shell /bin/false nimbus-vi1
Set ownership of
/var/lib/nimbus/vi1
tovalidators-i1
usersudo chown -R nimbus-vi1:nimbus-vi1 /var/lib/nimbus/vi1
Create configuration service file for
nimbus-vi1
service-
Open the configuration file
sudo nano /etc/systemd/system/nimbus-vi1.service
-
Copy the configuration below into the file.
[Unit] Description=Nimbus Validator Instance (Ethereum Mainnet) Wants=network-online.target After=network-online.target [Service] User=teku-vi1 Group=teku-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/nimbus/nimbus_validator_client \ --network=mainnet \ --data-dir=/var/lib/nimbus/vi1 \ --beacon-node=http://127.0.0.1:5052 \ --suggested-fee-recipient=0xXXXXXXXXXXXXXXXX \ --graffiti="Nethermind+Nimbus" # --payload-builder=true --payload-builder-url=https://${HOST}:${PORT}/ [Install] WantedBy=multi-user.target
Notes
- See more flags at https://nimbus.guide/options.html
[Unit] Description=Nimbus Validator Instance (Gnosis Network) Wants=network-online.target After=network-online.target [Service] User=nimbus-vi1 Group=nimbus-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/nimbus/nimbus_validator_client \ --network=gnosis \ --data-dir=/var/lib/nimbus/vi1 \ --beacon-node=http://127.0.0.1:5052 \ --suggested-fee-recipient=0xXXXXXXXXXXXXXXXX \ --graffiti="Nethermind+Nimbus" [Install] WantedBy=multi-user.target
See more flags at https://nimbus.guide/options.html
-
Press
CTRL
+X
thenY
thenENTER
to save and exit the config file.
-
Stop running validator instance
nimbus-vi1
sudo systemctl stop nimbus-vi1
Extend
/var/lib/nimbus/vi1
for new keystoressudo /usr/local/bin/nimbus-validator import data-dir=/var/lib/nimbus/vi1 $HOME/keystores/ddk_i1
NOTE: If you have used different passwords for each of your validators you will get an error. Run the process multiple times, providing each of the different passwords until they are all imported. Use the accounts list command to verify.
-
Load processed changes to the system
sudo systemctl daemon-reload
-
Start the validator instance
sudo systemctl start nimbus-vi1
-
Check the running validator instance
systemctl status nimbus-vi1
journalctl -fu nimbus-vi1
Activate service to start automatically
sudo systemctl enable nimbus-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 nimbus-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="nimbus-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
Any issue while running Nimbus client?
Check Nimbus client emergency page.