Genesis Validators, start your clients!

LUKSO
LUKSO
Published in
5 min readMay 17, 2023

The Genesis Validator Deposit Smart Contract collected 10,336 Genesis Validator Keys from over 220 participants. This means LUKSO will be born decentralized! Thanks to Ethereum. πŸ‘

If you are a Genesis Validator it is now time to start up your clients to be ready for May 23rd, 4:20pm UTC! This article will explain the options and how to do it. πŸš€

The majority of Genesis Validators chose 42M LYX as the initial supply via the indicative vote. If you choose to start your node with a genesis file choice that is different than the majority of the Genesis Validators, your node will end up on a network with too few validators to run. So, it is recommended to run the same configuration as the majority of the Genesis Validators.

To start your clients you have 3 options:

  1. Install the LUKSO CLI which will install the clients for you, allowing you to import your validator keys and start your clients.
  2. Use docker compose with the instructions provided in the network-docker-containers repository.
  3. Install a LUKSO compatible client yourself (Erigon, Geth, Lighthouse, Prysm) and download or generate the genesis files from deposit.mainnet.lukso.network. This process is only recommended for pro-users and will not be explained in this article. Please refer to the respective clients installation instructions and use the LUKSO network configuration to start your node.

In this article we will only explain how to start your node using the LUKSO CLI, as it is the most convenient option to run your clients. For all other options see above.

How to follow the mainnet launch?

We have a few places that will help you to see what is going on with the network:

πŸ“Ÿ Status page: https://stats.execution.mainnet.lukso.network

🧬 Consensus explorer: https://explorer.consensus.mainnet.lukso.network

πŸ” Execution explorer: https://explorer.execution.mainnet.lukso.network

Getting started

πŸ“– Please note this guide might change over time, please check the documentation for updates.

If you had a previous version of the LUKSO CLI installed, please make sure to update your LUKSO CLI to the latest version (0.6.0).

First step is to install the LUKSO Command Line Interface. This will install the `lukso` command globally on your machine. ⬇️

$ curl https://install.lukso.network | sh

You will need to create a working folder. This folder will later contain your chain data and validator keystore files (you can always change the location in the config files after). πŸ“

$ mkdir myLUKSOnode

You will need to initialize the working folder, which will download the LUKSO network configuration and genesis files.

NOTE: ☝ If you had installed the LUKSO CLI before, please delete your config folder (keep whatever config changes you made somewhere else), to make sure you have the latest genesis and config files with the correct boot-nodes!

$ cd ./myLUKSOnode
$ lukso init

After you initialized the folder, you can install the clients to run your node. This will need to be run from within your working folder, so the `cli-config.yaml` can store your client preference for this folder.

This needs to be run as a super user, as it will install the clients globally on your machine. πŸ”¨

$ sudo lukso install

Now your clients are technically ready to connect to the network, but as a Genesis Validator you need to import your Validator Keys first. πŸ”‘πŸ”‘πŸ”‘

This will decrypt the keys with the password you chose when generating them, and re-encrypt them with a new password you have to choose. These new keystore files will then be stored under β€œmyLUKSOnode/mainnet-keystore”.

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

After you have successfully imported your Genesis Validator keys, you can start your clients as a validator.

To start as a validator you need to provide a transaction fee recipient address, which will receive all transaction fees that your validator will generate.

Note this can be a different address than the withdrawal credential you added to your validator key when you generated them. The withdrawal credential receives the block reward for your validator. πŸ’°

After running the command, you will be asked to enter your newly chosen validator password and your node should start.

$ lukso start --validator --transaction-fee-recipient "<your address>"

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

$ lukso status

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

If you want to check the logs of any of the running client you can use the `lukso logs` command and choose ONE of the clients (`execution`, `consensus` or `validator`) e.g.

$ lukso logs execution

How to check your clients is running correctly?

To check if your Validator Keys are running, you can use the Consensus Explorer by typing in your Validator Public Key.

Adding Monitoring πŸ“Ÿ

We also created an example Prometheus and Grafana docker compose, that you can use to add monitoring to your running clients. Please follow the instructions in the readme to set it up.

Once your dashboard is up and running, you should see the list of your validator keys with status 3, which means they are active and waiting to validate.

Status β€œ3” means they are active and waiting to validate

Mainnet status page

As we all want to see a smooth start of the LUKSO Mainnet, it is useful to see which clients are connected and running.

For this reason we created stats.execution.mainnet.lukso.network.

https://stats.execution.mainnet.lukso.network

We would like to ask every Genesis Validator to fill out this form πŸ‘ˆ , to request access and add their client to this status page.

Please note that this status page can only show up to 250 nodes, therefore we will only allow Genesis Validators to receive access.

What’s next

If you have started your clients, you are ready to go.

Now the countdown begins! ⏳

We look forward to celebrating LUKSO’s Mainnet launch on May 23rd, at 4:20pm UTC (6:20pm CET). πŸš€

If you have any questions, please ask them in the #validators channel on our Discord!

🎊 πŸͺ„πŸ’₯β›“

--

--

LUKSO
LUKSO
Editor for

The Blockchain for New Creative Economies