L16 Client Setup
This guide walks through the setup of a LUKSO L16 testnet node using the Legacy CLI and Docker.
This guide is kept for historical reference. The old LUKSO CLI and L16 Faucet are unavailable by now.
The following steps are performed on your 📟 node server.
1. Software Installation​
1.1 LUKSO CLI Download: Move to your home directory, then fetch and execute the installation script.
cd ~
curl https://raw.githubusercontent.com/lukso-network/lukso-cli/main/cli_downloader.sh | bash
1.2 Add the CLI to Binary Path: Move the binary into the system path so it can be called globally.
sudo mv ~/lukso /usr/local/bin
1.3 Install Docker: Install the Docker runtime environment used to run client containers.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
1.4 Install Docker Compose: Install Docker Compose to manage multi-container deployments.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
1.5 Setup the Node Environment: Create the node directory and initialize the network configuration.
mkdir l16-node-testnet
cd l16-node-testnet
lukso network init
2. Network Configuration​
2.1 Set the Environment Name: Edit the environment file to name your node using your preferred text editor.
- Vim
- Nano
vim .env
nano .env
2.2 Set the Node Name: Edit the node config file to name your node using your preferred text editor.
- Vim
- Nano
vim node_config.yaml
nano node_config.yaml
The name is used to reference your node in the node explorer. Genesis validators use beta-genesis-validator_XX
and replace the XX
with the validator number of their ZIP files that they received, housing the funded validator keys.
2.3 Update the Network Configuration: Retrieve and overwrite the network configuration with the latest bootnodes and specs.
lukso network update
lukso network refresh
3. Deposit Key Integration​
- Regular Validators
- Genesis Validators
3.1 Generate Validator Keys: Generate new validator deposit keys directly from the validator wallet of the consensus client.
lukso network validator setup
3.2 Save Mnemonics: Add the mnemonic seed of your wallet into the node configuration using your preferred text editor.
- Vim
- Nano
vim node_config.yaml
nano node_config.yaml
3.3 Check Validator Status: Verify the amount of validator keys to determine the LYXt amount needed for deposits.
lukso network validator describe
3.4 Fund Wallet: Visit the L16 Faucet and fund your address with at least 32 LYX for one validator.
3.5 Dry Run Deposit: Simulate the validator deposit process to ensure your mnemonic seed was added correctly.
lukso network validator deposit --dry
3.6 Execute Deposit: If there were no isuess, execute the deposit on the L16 testnet using your wallet funds.
lukso network validator deposit
3.7 Backup the Validator Keys: Save the validator keys in a recovery file.
lukso network validator backup
The LUKSO CLI will generate a node_recovery.json
file in its working directory. Store it securely on an offline device.
Import Validator Keys: Unzip and copy your validator files into the keystore directory.
cd
mkdir l16-node-testnet/keystore
mv beta l16-node-testnet/keystore
Genesis Validators received whitelisted and funded validator keys from the LUKSO Network Team via Email and had to pre-register via the official validator questionary to receive a spot in the public node list.
Ensure all validator files are inside the keystore
folder and not within nested directories.
4. Folder Structure Check​
Check the Folder Structure: During the setup and key integration, your working directory created new files.
cd l16-node-testnet
ls -al
l16-node-testnet
├── configs
│  ├── config.yaml
│  ├── genesis.json
│  └── genesis.ssz
├── data
│ ├── consensus_data
│ │  ├── beaconchaindata
│ │  ├── metaData
│ ├── execution_data
│ └── validator_data
├── deposit_data.json
├── docker-compose.yml
├── keystore
│  ├── keys
│  ├── lodestar-secrets
│  ├── nimbus-keys
│  ├── password.txt
│  ├── prysm
│  ├── pubkeys.json
│  ├── secrets
│  ├── teku-keys
│  └── teku-secrets
├── node_config.yaml
└── transaction_wallet
The data folder will apear during the first node start using the sudo lukso network start
command.
5. Node Startup​
- Validator Node
- Regular Fullnode
Start the Validator: Execute the consensus and execution clients with the deposit keys of the node wallet.
cd ~/l16-node-testnet
lukso network start
lukso network start validator
Your node should start staking once synced. It can take up to eight hours before the deposit becomes active.
Start the Node: Execute the consensus and execution clients based on the CLI client configurations and network stats.
cd ~/l16-node-testnet
lukso network start
Details about analyzing the staking and node processes can be found on the Monitoring page of the 📖 Guide section.