L16 Public Testnet
The L16 Public Testnet will be the last stable test network before the mainnet launch and will likely stay online in parallel for experimental purposes.
MetaMask
Setting | Value |
---|---|
Network Name | L16 Beta |
New RPC URL | https://rpc.beta.l16.lukso.network |
Chain ID | 83748374 (0x4FDE616) |
Currency Symbol | LYXt |
Execution Block Explorer URL | https://explorer.execution.beta.l16.lukso.network/ |
And if you need it, here is a tutorial on how to do it.
Bootnodes
Bootnode | Client | Value |
---|---|---|
0 | Beacon | enr:-MK4QJ170_c4shhTN7NYc0ZiumYUrME_YUcWw_d8W6KKPHtHYVTVogsTqsQZDY_R3VlWnpKW-tIMJeB2JOIvo0D3Gi6GAYDxIN1yh2F0dG5ldHOIAAAAAAAAAACEZXRoMpCBQMXLYgAAcf__________gmlkgnY0gmlwhCJaVcaJc2VjcDI1NmsxoQI6qePHCvwjkh8CMvuUaSWTNiYkFzZpZh3j-DgNjBLvo4hzeW5jbmV0cwCDdGNwgjLIg3VkcIIu4A |
Geth | enode://c2bb19ce658cfdf1fecb45da599ee6c7bf36e5292efb3fb61303a0b2cd07f96c2[email protected]34.90.85.198:30303 |
System Requirements
Minimum System Requirements
Settings | Value |
---|---|
Operating System | Linux or MacOS |
Number of CPU cores | 2 |
RAM | 16 GB |
SSD | 100 GB |
Recommended System Requirements
Settings | Value |
---|---|
Operating System | Linux or MacOS |
Number of CPU cores | 8 |
RAM | 32 GB |
SSD | 512 GB |
info
Apple's new M1 chips are not supported natively by our node client. However, you can follow this guide to run it by using Rosetta, Apple's built-in emulation software.
Running a Node
Ports
Port | Protocol | Client | Ingress |
---|---|---|---|
30303 | TCP | geth syncing | port must be open |
30303 | UDP | geth discovery | port must be open |
13000 | TCP | beacon syncing | port must be open |
12000 | UDP | beacon discovery | port must be open |
8545 | TCP | geth api | port should be closed |
8080 | UDP | beacon metrics | port should be closed |
3500 | UDP | beacon api | port should be closed |
4000 | UDP | beacon rpc | port should be closed |
Installing Dependencies
Prepare your environment. You need:
# install dependencies
sudo apt-get -y update
sudo apt-get -y install curl
# install docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# install docker-compose
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
Installing the Node
mkdir lukso-l16-testnet && cd lukso-l16-testnet
curl https://raw.githubusercontent.com/lukso-network/lukso-cli/main/install.sh | sudo bash
The script will download the LUKSO cli into the folder.
lukso network init --nodeName [NAME_HOW_IT_APPEARS_IN_THE_STATS]
Starting the Node
# Start your nodes
lukso network init
# You can check logs with
lukso network logs consensus
lukso network logs execution
# Stop your nodes
lukso network stop
# If you selected a wrong chain, you could reset the setup. This will delete all related data except the keystores.
# NOTE: the network must be stopped
lukso network clear
Check the Network Status
You can see your node on the following page:
Become a Validator
Request LYXt Tokens:
Make sure to install MetaMask.
Add the L16 Beta Testnet to MetaMask, by following this tutorial.
Use the MetaMask parameters from above and select
L16 Beta
from the dropdown.Copy your MetaMask address to the clipboard using the box icon.
Visit the L16 Faucet, paste the copied address and request your test tokens.
Wait for the transaction to go through and check the balance in your MetaMask. You should have received 35 LYX.
Setup Validator
lukso network validator setup
This will create a key store and a transaction wallet. The purpose of the transaction wallet is to call and pay for the deposit transaction. You can check if the wallet has enough funds by calling
lukso network validator describe
Transfer enough funds to the transaction wallet public address from MetaMask.
Send the transaction.
# submit deposit
lukso network validator deposit_legacy
# wait 8h till validator is activated
You will need to wait for eight hours to activate your validator.
Run the Validator Client
Once your validator is activated, you spin up a validator client.
Make sure your consensus and execution clients are running (by typing ./lukso network start
).
lukso network validator start
# You can check logs with
lukso network logs validator
# You can stop the validator using, this will also stop all other nodes
lukso network validator stop
Troubleshooting L16 Beta Testnet
Stalled Synchronization
Context
You found your consensus (prysm) client has no peer and the execution engine (geth) stops syncing after a few blocks.
Proposed Solution:
- Open
node_config.yaml
file using any text editor. Forvim
the command will bevim node_config.yaml
- Change
bootnode
in theconsensus
section to a bootnode in the table on the top.
- Restart the node by typing:
./lukso network stop && ./lukso network start
Unmarshalling Error
Context
Check your execution log by ./lukso network log execution
. For Ubuntu 20.04 LTS you may get an unmarshal-related issue like:
log_execution: err="peer connected on snap without compatible eth support" log_consensus: level=error msg="Could not connect to powchain endpoint: could not dial eth1 nodes: json: cannot unmarshal string into Go struct field SyncProgress.CurrentBlock of type uint64" prefix=powchain
Proposed Solution:
# stop docker container
./lukso network stop
# reset data directory
./lukso network clear
# remove previous images
docker system prune --all --force --volumes
# delete lukso testnet directory
cd .. && rm -rf ./lukso-l16-testnet
After trying out the proposed solution, re-run your node setup from the start.