Running a mainnet Node
Anyone is welcome to participate in the LUKSO network by running her/his own node. On this page, you will find the relevant information to configure and start your node. If you wish to stake LYX and run a validator node, you can check the Become a Validator page.
System Requirements
The system requirements will depend on the clients you are running. Please refer to the client specs for detailed information. Also, as the LUKSO blockchain is relatively new and small, you will be able to use a smaller SSD for storage as for other chains.
Settings | Value |
---|---|
Operating System | Linux or macOS |
Number of CPU cores | 4 |
RAM | 16 GB |
SSD (NVMe) | 100 GB |
Starting a Node
To start your clients and contribute to the LUKSO network, you have 4 options.
📦 With Dappnode
Difficulty: Easy 🌶️
LUKSO has partnered with Dappnode (announcement) to provide easy access for solo stakers/node runners.
👉 All the information are available in the Dappnode docs.
📟 With the LUKSO CLI
Difficulty: Medium 🌶️🌶️
The LUKSO CLI is a command line tool to install, manage and set up nodes and validators of different clients for the LUKSO blockchain. It provides simple and unified commands to interact with your node and runs natively on your operating system. The LUKSO CLI is officially supported for Ubuntu, Debian and macOS running on either x86 Intel and AMD Processors or Single Board ARM Computers.
For further information, you can check out the official LUKSO CLI Documentation. It does not stop you from running any supported clients, all configurations and flags can be passed down.
Install the LUKSO CLI
First, install the lukso
command globally on your node machine.
curl https://install.lukso.network | sh
Create a working directory
The name of the directory myLUKSOnode/
in the commands below can be changed according to your preferences.
Next, create a working directory for your node's data and move into it. The directory is where everything regarding your blockchain node will be stored. Make sure to choose a proper name for your node folder. If you plan on running a validator later, this folder will also contain your validator key files by default.
mkdir myLUKSOnode && cd myLUKSOnode
Initialize the working folder, which will download the LUKSO network configuration and genesis files needed to sync with the LUKSO network.
lukso init
Depending on your configuration and permissions, you might need to run the commands as super user with the sudo
command.
Install the clients
After the initialization is successful, you must download the blockchain clients, which will be managed from the CLI under the hood. They will be installed globally, need superuser permissions, and are set as default clients within your working directories configuration file. You will be asked which clients you want to download and install during the setup.
lukso install
Start the clients
The following command will spin up your execution and consensus client and connect to the mainnet.
Without specifying any flags, the node starts its normal synchronization process.
If you want more convenience and your validator to operate quickly, you can also use checkpoints. Checkpoint synchronization is a feature that significantly speeds up the initial sync time of the consensus client. If enabled, your node will begin syncing from a recently finalized consensus checkpoint instead of genesis. It will then download the rest of the blockchain data while your consensus is already running.
After the synchronization is finalized, you will end up with the equal blockchain data. You can use the flag on every startup. However, it shows the most significant effect when synchronizing from scratch or after an extended downtime. The shortcut is ideal for fresh installations, validator migration, or recovery.
- Regular Synchronization
- Checkpoint Synchronization
The synchronization process will take multiple hours for the node to finalize.
lukso start
The shortcut is ideal for making installation, validator migration, or recovery much faster.
You will need the LUKSO CLI Version 0.8.0 or above in order to use the --checkpoint-sync
command. If you are using an older version, please pass down the checkpoint flag as described in the LUKSO CLI Documentation.
lukso start --checkpoint-sync
If you are setting up a node for the testnet, add the --testnet
flag to the start command.
Checking Processes
To check that everything is running correctly, you can see the status of all your clients using the status command. By default, the validator is not enabled. If you want to run your validator node, please have a look at the validator page.
lukso status
# INFO[0000] PID 39424 - Execution (geth): Running 🟢
# INFO[0000] PID 39430 - Consensus (prysm): Running 🟢
# INFO[0000] PID 39432 - Validator (validator): Stopped 🔘
If you want to check any of the running clients in more detail, you can use the built-in logging command of the CLI. It will print out the current log messages of one client to the terminal screen.
# Viewing the logs of the execution client
lukso logs execution
# Viewing the logs of the consensus client
lukso logs consensus
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.
🚢 With Docker
Difficulty: Hard 🌶️🌶️🌶️
We provide a basic repository with examples of docker-compose.yml
files to run the LUKSO network.
We also created a "docker factory" web interface which allows you to generate your own docker-compose.yml
files.
📄 With your own clients
Difficulty: Advanced 🌶️🌶️🌶️🌶️
You are in no way limited to the tools we provide. If you are a pro user, you can download and run the Erigon, Geth, Lighthouse, Prysm or any other clients in your preferred setup. Please refer to the LUKSO network configuration repository to configure and start your node.
Need Help?
Check the Network FAQ section.
Ask your question in the validators channel on the official LUKSO Discord server.
Further Reads
- LUKSO Mainnet Start Process Update #1
- LUKSO Mainnet Start Process Update #2
- LUKSO Mainnet Start Process Update #3
- Genesis Validators Deposit and Testnet Launch
- Genesis Validators, start your clients!
You can check out the following links for extended help or advice for setting up your node:
- Extended Wiki and LUKSO Node Guide by Felix Hildebrandt
- LUKSO Community Guides by Luksoverse
- ETHStaker Community Discord for running EVM Clients