11.2 Client Updates
This guide explains how to update your LUKSO CLI, blockchain clients, configuration files, and validator permissions.
The following steps are performed on your 📟 node server.
1. Stop Node Operation
Depending on your setup method, there are different ways to stop your node before applying updates.
- LUKSO CLI
- Service Automation
cd <lukso-working-directory>
lukso stop
Exchange <lukso-working-directory>
with the path of the node folder.
sudo systemctl stop lukso-validator
Force Client Shutdown
- Geth
- Erigon
- Nethermind
- Besu
- Teku
- Nimbus-Eth2
- Lighthouse
- Prysm
sudo pkill geth
sudo pkill erigon
sudo pkill nethermind
sudo pkill besu
sudo pkill teku
sudo pkill nimbus_beacon_node
sudo pkill nimbus_validator_client
sudo pkill lighthouse
The Lighthouse client uses a single binary for both the consensus and validator processes.
sudo pkill prysm
sudo pkill validator
2. Update CLI and CLients
Install the latest CLI version and update the client software.
# Install Latest LUKSO CLI
sudo curl https://install.lukso.network | sh
# Verify CLI Version
lukso version
Check your current client versions.
- Geth
- Erigon
- Nethermind
- Besu
- Teku
- Nimbus-Eth2
- Lighthouse
- Prysm
geth version
erigon --version
nethermind --version
besu --version
teku --version
nimbus_beacon_node --version
lighthouse --version
prysm --version
# Move into Node Directory
cd <lukso-working-directory>
# Update the Blockchain Clients
sudo lukso update
Check your updated client versions again using the commands above to verify they were installed correctly.
3. Update Client Configs
This optional step ensures your client configuration files stay aligned with the latest specifications and network forks.
sudo lukso init
sudo lukso update configs
None of your client-specific settings will be overwritten.
- The
lukso update configs
command only updates the global/configs/<network>/shared/
files. - The
lukso init
command only creates missing files and folders within the/configs/
folder.
The LUKSO Network Team regularly introduces changes to the default client-specific configurations. It's recommended to update them manually. Further guidance can be found on the Configuration Updates page of the 🏛️ Archive section.
4. Remove Genesis Flags
Make sure that you no longer use Genesis flags to start the node, as the network was launched and flags are no longer needed.
This step is only required for genesis validators using a service automation setup to manage their node. Regular node setups simply do no longer attach the --genesis-json
and --genesis-ssz
flags during the startup.
4.1 Open the Service File: Open the startup script with your preferred text editor.
- Vim
- Nano
cd <lukso-working-directory>/static/
sudo vim ./lukso_startup.sh
cd <lukso-working-directory>/static/
sudo nano ./lukso_startup.sh
Exchange <lukso-working-directory>
with the path to the node folder.
4.2 Modify the Service File: Remove the following lines from the startup script.
--genesis-json ./configs/mainnet/shared/genesis_42.json \
--genesis-ssz ./configs/mainnet/shared/genesis_42.ssz \
5. Restart the Node
Depending on your setup method, there are different ways to start your node after updates have been applied.
- LUKSO CLI Node
- LUKSO CLI Validator
- Service Automation
cd <lukso-working-directory>
lukso start --checkpoint-sync
Exchange <lukso-working-directory>
with the path of the node folder.
cd <lukso-working-directory>
lukso start --validator --transaction-fee-recipient "<your-fee-recipient-address>" --checkpoint-sync
The following properties need to be exchanged:
<lukso-working-directory>
with the path of the node folder<your-fee-recipient-address>
with the wallet address receiving staking profits
For improved security, the service automation is started from a separate user with restricted rights. New permissions must be assigned to all data and software folders affected by the previous updates before the node should be restarted.
sudo chown -R lukso-validator-worker:lukso-validator-worker /home/<user-name>/<lukso-working-directory>
sudo chown lukso-validator-worker:lukso-validator-worker /usr/local/bin/lukso
sudo chmod -R 750 /home/<user-name>/<lukso-working-directory>
sudo chmod 755 /home/<user-name>/<lukso-working-directory>
sudo chmod 400 /home/<user-name>/<lukso-working-directory>/static/<your-generic-password-file>
sudo chmod 500 /home/<user-name>/<lukso-working-directory>/static/lukso_startup.sh
The following properties need to be exchanged:
<user-name>
with the user name used to login to your node<lukso-working-directory>
with the path of the node folder<your-generic-password-file>
with the full name of the password file to start the validator
Full Command Descriptions
Setting | Description |
---|---|
sudo chown -R <user>:<user> <directory> | Recursively assign user ownership to all directory contents. |
sudo chown <user>:<user> <directory> | Assign ownership to a single folder or file. |
sudo chmod -R 750 <directory> | Set executable and readable permissions for a user and group. |
sudo chmod 755 <directory> | Set readable permissions for everyone, typically for general files. |
sudo chmod 400 <directory>/<file> | Read-only access for owner, typically for secret information. |
sudo chmod 500 <directory>/<file> | Executable-only by owner, typically for service scripts. |
Once the original rights have been restored, the service can be started.
sudo systemctl start lukso-validator
If the service does not start up, check the service status before and reapply the necessary permissions.
sudo systemctl status lukso-validator
After the clients were started, verify that their services are still up.
sudo lukso status