Skip to main content

Become a Validator

Become a validator

info

The LUKSO Mainnet launched on Tuesday 23rd May, 4:20 PM GMT with validators that previously deposited to the Genesis Deposit Contract. Becoming a validator is paused until the discovery month ends and the LYXe to LYX migration goes live. For more information, have a look into our Medium posts about the LUKSO launch process and the deposit contract freeze.

Deposit Launchpad

To become a validator, you can use the LUKSO Deposit Launchpad: https://deposit.mainnet.lukso.network/.

Validator Keys

As a validator, you need to import your validator deposit key (keystore-xxx-[timestamp].json files that you have generated using the LUKSO Wagyu or LUKSO CLI Keygen tools. Ensure you safely copy them to your node before starting the validator node.

Starting a validator

As while running a regular node, you have multiple options to start your validator:

  • LUKSO CLI Validator
  • Docker Compose Setup
  • Configure a LUKSO Compatible Client

Please refer to the regular Node Guide that explains the differences between those setups and how to get the correct network configurations.

Using LUKSO CLI

Set up your regular node using the LUKSO CLI as described in the Node Guide.

Importing Validator Keys

If it is set up correctly and all clients are working, you can continue importing your validator keys into the validator wallet. You will be asked to set a new wallet password to store the imported deposit keys safely. Further, you will have to input your password for the deposit keys you want to import so that they can be encrypted and added to the wallet. The new keystore files will be stored under the ./myLUKSOnode/mainnet-keystore directory.

$ lukso validator import --validator-keys "./path/to/your/keys/folder"

Checking Validator Keys

After importing one or multiple folders, you can check your imported keys.

$ lukso validator list

If the imported deposit keys match the ones in the original folder, you can delete them from your node machine.

Starting the Validator

After importing your keys, you can start the node with the validator functionality. If the node is already synced and running, the lukso start command will restart all clients automatically.

To start the validator, you have to pass a minimum of 2 flags:

  • --validator: Will start the installed and configured clients, including the validator
  • --transaction-fee-recipient: Specifies your transaction fee recipient address, which will receive all block rewards and tips from transactions. The address can be any EOA address you have control over on a wallet like MetaMask, Ledger, or any other wallet with the functionality to connect with LUKSO or custom networks.

If you want to set custom flags to the start command, like the graffiti or a custom stat page connection, make sure to add them. You can find more information about passing options to the client on the official LUKSO CLI Documentation.

note

The recipient fee address can also be different than the withdrawal credential you added to your validator key when you generated them. The withdrawal address is used to withdraw rewards and staked amounts connected to the consensus mechanism after the Shapella upgrade is implemented on the LUKSO blockchain. The feature is planned some months after the network launch.

As only genesis validators can run the validator on a node, you must select your chosen initial supply for the LUKSO mainnet. More information can be found in the official Mainnet Timeline article.

$ lukso start --validator --transaction-fee-recipient "0x1234..."

Checking Validator Logs

To check that everything is running correctly, you can see the status of all your clients using the status command.

$ lukso status

# INFO[0000] PID 39424 - Execution (geth): Running 🟢
# INFO[0000] PID 39430 - Consensus (prysm): Running 🟢
# INFO[0000] PID 39432 - Validator (validator): Running 🟢

In addition to the consensus and execution clients, you can now further check the validator logs using the LUKSO CLI:

# Viewing the logs of the validator client
$ lukso logs validator

For more options, please check the LUKSO CLI Documentation.

To enable more advanced monitoring for your node, you can check the official network-docker-monitoring repository with a step-by-step guide.

Using Docker

Our official Docker container provides a base template for images to run the LUKSO validator nodes. Make sure you have Docker and Docker Compose installed on your system.

Head over to the network-docker-containers repository from LUKSO and follow the installation process. You will have to clone the repository to your node machine and configure various properties, including the genesis files, deposit keys, and node name.

After the configuration, you can automatically download, install, and start all node clients. Head into the repository and follow the instructions in the README.md

To enable more advanced monitoring for your node, you can check the official network-docker-monitoring repository with a step-by-step guide.

Using Custom configs

If you are a pro user or want to generate custom genesis files with a different genesis supply of the blockchain, you can follow the instructions in the following repositories:

Need Help?

Check the Network FAQ section.

Ask your question in the validators channel on the official LUKSO Discord server.