Validator client configuration for Lido
The Guide is under construction. Do not use!!!- Be sure
Builder-boost-factoris set to100% - Be sure
fee_recipientis set to0x388C818CA8B9251b393131C08a736A67ccB19297
- :
- :
-
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/ethereum/lighthouse/vi1-
Load keystores to
:/var/lib/ethereum/lighthouse/vi1sudo /usr/local/bin/lighthouse --network mainnet account validator import --reuse-password --directory $HOME/keystores/ddk_i1 --datadir /var/lib/ethereum/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 eth-lighthouse-vi1Set ownership of
/var/lib/ethereum/lighthouse/vi1tovalidators-i1usersudo chown -R eth-lighthouse-vi1:eth-lighthouse-vi1 /var/lib/ethereum/lighthouse/vi1Create configuration service file for
eth-lighthouse-vi1service-
Open the configuration file
sudo nano /etc/systemd/system/eth-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=eth-lighthouse-vi1 Group=eth-lighthouse-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/lighthouse vc \ --network mainnet \ --datadir /var/lib/ethereum/lighthouse/vi1 \ --beacon-nodes http://localhost:5052 \ --suggested-fee-recipient 0x388C818CA8B9251b393131C08a736A67ccB19297 \ --builder-proposals \ --builder-boost-factor 100 \ --graffiti "Lido CSM | Nethermind+Lighthouse" [Install] WantedBy=multi-user.targetNotes
--builder-boost-factormust be set to 100% for running LIDO CSM validator client.
-
Press
CTRL+XthenYthenENTERto save and exit the config file.
-
Stop running validator instance
eth-lighthouse-vi1sudo systemctl stop eth-lighthouse-vi1Extend
/var/lib/ethereum/lighthouse/vi1for new keystoressudo /usr/local/bin/lighthouse --network mainnet account validator import --reuse-password --directory $HOME/keystores/ddk_i1 --datadir /var/lib/ethereum/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 eth-lighthouse-vi1 -
Check the running validator instance
systemctl status eth-lighthouse-vi1journalctl -fu eth-lighthouse-vi1 -
Activate service to start automatically on system startup
sudo systemctl enable eth-lighthouse-vi1Note
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.shConfigurate service start inside it
systemctl start eth-lighthouse-vi1.service - Be sure,
delayed-start.serviceservice controllingdelayed-start.shis 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.confIf 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="eth-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
Guide to exit validator is available at https://stakers.space/lighthouse/exit-validator.
- :
- :
-
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/ethereum/lodestar/vi1Enable accessing
/var/lib/ethereum/lodestar/vi1for server usermyserverusersudo chown -R myserveruser:myserveruser /var/lib/ethereum/lodestar/vi1Load keystores to
:/var/lib/ethereum/lodestar/vi1Move to Lodestar client directory
cd /usr/local/bin/lodestar./lodestar validator import --network mainnet --importKeystores $HOME/keystores/ddk_i1 --dataDir /var/lib/ethereum/lodestar/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 eth-lodestar-vi1Set ownership of
/var/lib/ethereum/lodestar/vi1tolodestar-vi1usersudo chown -R eth-lodestar-vi1:eth-lodestar-vi1 /var/lib/ethereum/lodestar/vi1Enable access to
:NodeJsfor userlodestar-vi1sudo usermod -aG nodejsusr eth-lodestar-vi1Create configuration service file for
eth-lodestar-vi1service-
Open the configuration file
sudo nano /etc/systemd/system/eth-lodestar-vi1.service -
Copy the configuration below into the file.
:
This can be get with commandnode -v
[Unit] Description=Lodestar Validator Instance (Ethereum Mainnet) Wants=network-online.target After=network-online.target [Service] User=eth-lodestar-vi1 Group=eth-lodestar-vi1 Type=simple Restart=always RestartSec=5 WorkingDirectory=/usr/local/bin/lodestar Environment="PATH=/home/nodejsusr/.nvm/versions/node/v/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ExecStart=/usr/local/bin/lodestar/lodestar validator \ --network mainnet \ --dataDir /var/lib/ethereum/lodestar/validators/i1 \ --force \ --beaconNodes http://127.0.0.1:9596 \ --suggestedFeeRecipient 0x388C818CA8B9251b393131C08a736A67ccB19297 \ --builder \ --builder.boostFactor 100 \ --builder.selection ‘maxprofit’ \ --graffiti "Lido CSM | Nethermind+Lodestar" [Install] WantedBy=multi-user.targetNotes
- All flags: https://chainsafe.github.io/lodestar/run/validator-management/validator-cli/
--builder.selectionmust be set to ‘maxprofit’ for running LIDO CSM validator client.
-
Press
CTRL+XthenYthenENTERto save and exit the config file.
-
Adding validator instance to staking services manager
If you use a staking manager client, add the new instance into it.
Stop running validator instance
eth-lodestar-vi1sudo systemctl stop eth-lodestar-vi1Extend
/var/lib/ethereum/lodestar/validators/i1for new keystores./lodestar validator import --network mainnet --importKeystores $HOME/keystores/ddk_i1 --dataDir /var/lib/ethereum/lodestar/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-reloadStart the validator instance
sudo systemctl start eth-lodestar-vi1Check the running validator instance
systemctl status eth-lodestar-vi1journalctl -fu eth-lodestar-vi1-
Other configurations
Activate service to start automatically on OS startup
sudo systemctl enable eth-lodestar-vi1Note
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.shConfigurate service start inside it
systemctl start eth-lodestar-vi1.service - Be sure,
delayed-start.serviceservice controllingdelayed-start.shis enabled for auto start with system startupsudo systemctl enable delayed-start.service
Note
This option requires the following installed utils:
- Start with Delay util with delayed-start.service
- Staking Manager util
- Lodestar Validator Log Monitor
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.confIf 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="eth-lodestar-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
Configurate Lodestar validator Log monitor service
Log monitor service monitors the service log and process defined action (fixes) in a case of any issue detected.
- Check, whether the logmonitor util is installed:
/usr/local/bin/logmonitor.sh versionIf the util is not installed, install Lodestar validator Log monitor from GitHub.
- Check defined Errors list for lodestarvalidator service
sudo nano /usr/local/etc/lodestarvalidator_tracking_records.txtIf not available, download it from GitHub. You can also modifiy it, if needed.
- Configurate the validator log monitor for service
eth-lodestar-vi1, see guide on Github. - Place validator logmonitor service into
/usr/local/bin/delayed-start.shutil to start it automatically on system startup- Open
delayed-start.shsudo nano /usr/local/bin/delayed-start.sh - Place validator logmonitor service into the file
systemctl start eth-lodestar-vi1_logmonitor
- Open
- Open Delayed Start shell
Guide to exit validator is available at https://stakers.space/lodestar/exit-validator.
- :
- :
-
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/ethereum/teku/vi1If exists, remove
:deposit_datafile from keystores folder- Display files in the directory
cd $HOME/keystores/ddk_i1 && ls -lh - If there is
deposit_data-XXX....jsonfile, remove itsudo rm deposit_data-XXX....json
- Display files in the directory
Copy keystores dedicated for instance
into/var/lib/ethereum/teku/vi1/keystoresfoldersudo mkdir /var/lib/ethereum/teku/vi1/keystoressudo cp -a $HOME/keystores/ddk_i1/* /var/lib/ethereum/teku/vi1/keystores && cd /var/lib/ethereum/teku/vi1/keystoresTeku requires a
.txtfile with encryption password for each.jsonvalidator file.-
Display all keystores in the directory
ls -lh -
.json
Create a new
.txtfile for thekeystore-m_12381_3600_X_0_0-XXXXXXXXXX.json keystore filesudo nano keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txtInsert an encryption password for the validator key (the one used during keystores generation) into that file.
Press
ctrl+x, thenyto save and exit - Set readonly permission for that file
sudo chmod 400 keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txt
Now, you can either repeate the process for all other keystores in the folder, or use an automated solution to duplicate the created password file (with modified name) for all remaining keystores, see Shell Script to generate password files for Teku.
With automated process, to generate
.txtfile with a content of/var/lib/ethereum/teku/vi1/keystores/keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txtfor all remaining keystores in the/var/lib/ethereum/teku/vi1/keystores/directory, use commandsudo /opt/teku-create-validator-psw-files.sh /var/lib/ethereum/teku/vi1/keystores/keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txt-
Display all keystores in the directory
Create a service user for the validator instance
sudo useradd --system --no-create-home --shell /bin/false eth-teku-vi1- Set ownership of validator instance data directory to validator-instance user
sudo chown -R eth-teku-vi1:eth-teku-vi1 /var/lib/ethereum/teku/vi1 Create configuration service file for
eth-teku-vi1service- Open the configuration file
sudo nano /etc/systemd/system/eth-teku-vi1.service -
Copy the configuration below into the file.
[Unit] Description=Teku Validator Instance (Ethereum Mainnet) Wants=network-online.target After=network-online.target [Service] User=eth-teku-vi1 Group=eth-teku-vi1 Type=simple Restart=always RestartSec=5 Environment="JAVA_OPTS=-Xmx4g" Environment="TEKU_OPTS=-XX:-HeapDumpOnOutOfMemoryError" ExecStart=/usr/local/bin/teku/bin/teku validator-client \ --network mainnet \ --beacon-node-api-endpoint http://127.0.0.1:5051 \ #--beacon-node-api-endpoint http://127.0.0.1:5051,http://192.10.10.101:5051,http://192.140.110.44:5051 \ --data-path /var/lib/ethereum/teku/vi1 \ --validator-keys /var/lib/ethereum/teku/vi1/keystores:/var/lib/ethereum/teku/vi1/keystores \ --validators-proposer-default-fee-recipient 0xXXXXXXXXXXXXXXXX \ --builder-bid-compare-factor 100 \ --graffiti "Lido CSM | Nethermind+Teku" [Install] WantedBy=multi-user.targetNotes
--builder-bid-compare-factormust be set to 100 for running LIDO CSM validator client.
- Open the configuration file
Stop running validator instance
eth-teku-vi1sudo systemctl stop eth-teku-vi1If exists, remove
:deposit_datafile from keystores folder- Display files in the directory
cd $HOME/keystores/ddk_i1 && ls -lh - If there is
deposit_data-XXX....jsonfile, remove itrm deposit_data-XXX....json
- Display files in the directory
-
Copy keystores dedicated for instance
into/var/lib/ethereum/teku/vi1/keystoresfoldersudo mkdir /var/lib/ethereum/teku/vi1/keystoressudo cp -a $HOME/keystores/ddk_i1/* /var/lib/ethereum/teku/vi1/keystores/keystores && cd /var/lib/ethereum/teku/vi1/keystores Teku requires a
.txtfile with encryption password for each.jsonvalidator file.-
Display all keystores in the directory
ls -lh -
.json
Vreate a new
.txtfile for thekeystore-m_12381_3600_X_0_0-XXXXXXXXXX.json keystore filenano keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txtInsert an encryption password for the validator key (the one used during keystores generation) into that file.
Press
ctrl+x, thenyto save and exit - Set readonly permission for that file
sudo chmod 400 keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txt
Now, you can either repeate the process for all other keystores in the folder, or use an automated solution to duplicate the created password file (with modified name) for all remaining keystores, see Shell Script to generate password files for Teku.
With automated process, to generate
.txtfile with a content of/var/lib/ethereum/teku/vi1/keystores/keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txtfor all remaining keystores in the/var/lib/ethereum/teku-vi1/keystores/directory, use command$HOME/bashscripts/create-teku-pswfiles.sh /var/lib/ethereum/teku/vi1/keystores/keystore-m_12381_3600_X_0_0-XXXXXXXXXX.txt-
Display all keystores in the directory
Load changes made in config files to the system
sudo systemctl daemon-reloadStart the validator instance
sudo systemctl start eth-teku-vi1Check the running validator instance
systemctl status eth-teku-vi1journalctl -fu eth-teku-vi1Activate service to start automatically
sudo systemctl enable eth-teku-vi1Note
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.shAttach command to remove lock files (to prevent start the validator in a case of existing lock fiels after a power failure). This must be processed before starting the validator service.
/opt/remove-teku-validator-lock-files.sh '/var/lib/ethereum/teku/vi1/keystores'Configurate service start inside it
systemctl start eth-teku-vi1.service - Be sure,
delayed-start.serviceservice controllingdelayed-start.shis 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.confIf 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="eth-teku-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 -
Attach command to remove lock files (to prevent start the validator in a case of existing lock fiels after a power failure). This must be processed before starting the validator service.
/opt/remove-teku-validator-lock-files.sh '/var/lib/ethereum/teku/vi1/keystores' - 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
Guide to exit validator is available at https://stakers.space/teku/exit-validator.
- :
- :
-
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/ethereum/nimbus/vi1-
Load keystores to
:/var/lib/ethereum/nimbus/vi1sudo /usr/local/bin/nimbus-validator import data-dir=/var/lib/ethereum/nimbus/vi1 $HOME/keystores/ddk_i1NOTE: 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 eth-nimbus-vi1Set ownership of
/var/lib/ethereum/nimbus/vi1tovalidators-i1usersudo chown -R eth-nimbus-vi1:eth-nimbus-vi1 /var/lib/ethereum/nimbus/vi1Create configuration service file for
eth-nimbus-vi1service-
Open the configuration file
sudo nano /etc/systemd/system/eth-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=eth-teku-vi1 Group=eth-teku-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/nimbus/nimbus_validator_client \ --network=mainnet \ --data-dir=/var/lib/ethereum/nimbus/vi1 \ --beacon-node=http://127.0.0.1:5052 \ --suggested-fee-recipient=0xXXXXXXXXXXXXXXXX \ --builder-boost-factor 100 \ --graffiti "Lido CSM | Nethermind+Nimbus" # --payload-builder=true --payload-builder-url=https://${HOST}:${PORT}/ [Install] WantedBy=multi-user.targetNotes
- See more flags at https://nimbus.guide/options.html
--builder-boost-factormust be set to 100% for running LIDO CSM validator client.
-
Press
CTRL+XthenYthenENTERto save and exit the config file.
-
Stop running validator instance
eth-nimbus-vi1sudo systemctl stop eth-nimbus-vi1Extend
/var/lib/ethereum/nimbus/vi1for new keystoressudo /usr/local/bin/nimbus-validator import data-dir=/var/lib/ethereum/nimbus/vi1 $HOME/keystores/ddk_i1NOTE: 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 eth-nimbus-vi1 -
Check the running validator instance
systemctl status eth-nimbus-vi1journalctl -fu eth-nimbus-vi1 Activate service to start automatically
sudo systemctl enable eth-nimbus-vi1Note
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.shConfigurate service start inside it
systemctl start eth-nimbus-vi1.service - Be sure,
delayed-start.serviceservice controllingdelayed-start.shis 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.confIf 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="eth-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
Guide to exit validator is available at https://stakers.space/nimbus/exit-validator.
- :
- :
-
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/ethereum/prysm/vi1-
Load keystores to
:/var/lib/ethereum/prysm/vi1sudo /usr/local/bin/validator accounts import --mainnet --keys-dir=$HOME/keystores/ddk_i1 --wallet-dir=/var/lib/ethereum/prysm/vi1- Accept Terms of Use
- Set a wallet password. This is different to the validator password you set during keys generation. Prysm will use this to decrypt the validator wallet. Back it up somewhere safe. You will need this later in this section and when configuring the validator.
- Provide the validator keys password. This is the password you set when you created the keys during keys generation
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 Wallet Password File
Create a file to store the wallet password so the Prysm validator service can access the wallet without you having to supply the password.
sudo nano /var/lib/ethereum/prysm/vi1/password.txtPress
CTRL+XthenYthenENTERto save and exit the config file.Create a service user for the validator instance
sudo useradd --system --no-create-home --shell /bin/false eth-prysm-vi1Set ownership of
/var/lib/ethereum/prysm/vi1tovalidators-i1usersudo chown -R eth-prysm-vi1:eth-prysm-vi1 /var/lib/ethereum/prysm/vi1Create configuration service file for
eth-prysm-vi1service-
Open the configuration file
sudo nano /etc/systemd/system/eth-prysm-vi1.service -
Copy the configuration below into the file.
[Unit] Description=Prysm Consensus Client VC (Mainnet) Wants=network-online.target After=network-online.target [Service] User=eth-prysm-vi1 Group=eth-prysm-vi1 Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/validator \ --datadir=/var/lib/ethereum/prysm/vi1 \ --wallet-dir=/var/lib/ethereum/prysm/vi1 \ --wallet-password-file=/var/lib/ethereum/prysm/vi1/password.txt \ --suggested-fee-recipient=0x388C818CA8B9251b393131C08a736A67ccB19297 \ --enable-builder \ --graffiti "Lido CSM | Nethermind+Prysm" \ --accept-terms-of-use [Install] WantedBy=multi-user.targetAll Prysm Validator flags:https://prysm.offchainlabs.com/docs/configure-prysm/parameters/#validator-flags
-
Press
CTRL+XthenYthenENTERto save and exit the config file.
-
Stop running validator instance
eth-prysm-vi1sudo systemctl stop eth-prysm-vi1Extend
/var/lib/ethereum/prysm/vi1for new keystoressudo /usr/local/bin/validator accounts import --mainnet --keys-dir=$HOME/keystores/ddk_i1 --wallet-dir=/var/lib/ethereum/prysm/vi1- Accept Terms of Use
- Set a wallet password. This is different to the validator password you set during keys generation. Prysm will use this to decrypt the validator wallet. Back it up somewhere safe. You will need this later in this section and when configuring the validator.
- Provide the validator keys password. This is the password you set when you created the keys during keys generation
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 eth-prysm-vi1 -
Check the running validator instance
systemctl status eth-prysm-vi1journalctl -fu eth-prysm-vi1 Activate service to start automatically
sudo systemctl enable eth-prysm-vi1Note
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.shConfigurate service start inside it
systemctl start eth-prysm-vi1.service - Be sure,
delayed-start.serviceservice controllingdelayed-start.shis 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.confIf 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="eth-prysm-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
Guide to exit validator is available at https://stakers.space/prysm/exit-validator.
Go through Checklist for a new CSM node operator
Be sure you are familiar with everything needed.
CSM New Operator ChecklistFund the validators
The Guide is under construction. Do not use!!!- Go to the Lido CSM Widget and connect your wallet.
- MAKE SURE THAT YOU ARE ON THE CORRECT NETWORK.
- Select
Become a Node Operatorand thenCreate a Node Operator - On the Lido CSM Widget, upload your
deposit data fileand select the corresponding bond type (ETH, stETH, wstETH), and provide the desired bond amount
Wait for your CSM validator keys to be deposited by Lido and make sure your node remains online in the meantime!
Regular maintenance
As a regular member securying the network and processing blockchain operations on it, you need to keep your software up to date to avoid penalties and earning rewards for the work.
Guides for regular maintenanceExiting Lido CSM Validator
- Voluntary Exits: Exiting CSM Validators
- Protocol-initiated exits: Lido Validator Ejector