Guide | Besu + Lodestar | Most Viable Diverse Client | Staking Ethereum on Kiln testnet
Become a validator, start staking and help secure Ethereum, a proof-of-stake blockchain. Anyone with 32 ETH can join.
Become a validator, start staking and help secure Ethereum, a proof-of-stake blockchain. Anyone with 32 ETH can join.
To participate in the public testnet known as Kiln, the first concentrated public effort to test Ethereum’s upgrade to proof-of-stake with a hardfork called "Paris-Bellatrix" or affectionly called “”.
Within the Ethereum network of nodes, you want to maximize by being the Most Viable Diverse Client with execution and consensus clients, Besu and Lodestar aka Bestar.
This guide was written for aspiring Ethereum stakers who have basic familiarity with command line tools and it was tested against Ubuntu 20.04.1 LTS client. You’ll need a cloud VPS or local desktop/server/laptop running Ubuntu preferably. Commands are to be run in a terminal window or ssh terminal.
If using a VPS or remote server, install and start the SSH client for your operating system:
MacOS and Linux: from the Terminal, use the native command:
Operating system: 64-bit Linux (i.e. Ubuntu 20.04 LTS Server or Desktop)
Processor: Dual core CPU, Intel Core i5–760 or AMD FX-8100 or better
Memory: 8GB RAM
Storage: 30GB SSD
Operating system: 64-bit Linux (i.e. Ubuntu 20.04 LTS Server or Desktop)
Processor: Intel i5 or AMD Ryzen 5 or better.
Memory: 32GB RAM
Storage: 2TB SSD or NVME
Network: 100 Mbit or faster connection with at least 2TB per month data plan
Pro Staking Tip: Highly recommend you begin with a brand new instance of an OS, VM, and/or machine. Avoid headaches by NOT reusing testnet keys, wallets, or databases for your validator.
Install packages and update OS
Reboot your machine to update installation.
Initialize the firewall with Ethereum’s p2p ports and ssh.
Confirm the settings are in effect.
Example output:
Install Chrony with the following.
Wait a few seconds, then verify that Chrony is syncing time.
Setup your execution layer client, Besu.
Install dependencies.
Build the binaries.
Verify Besu was properly built by viewing the help menu.
Create a service user for the execution service, as this improves security, then create data directories.
Generate the JWT secret, a file used by both the execution and consensus client, add read access privileges for the consensus client and setup ownership permissions
Configure systemd by running the following to define your execution.service
configuration. Simply copy and paste.
Move the unit file to /etc/systemd/system
and give it permissions.
Run the following to enable auto-start at boot time.
Finally, start your execution layer client, Besu and check it's status.
Press Ctrl
+ C
to exit the status.
Set up your consensus layer client, Lodestar.
Install dependencies.
Install yarn.
Install nodejs.
Build the binaries.
Verify Lodestar was installed properly by displaying the help menu.
Create a service user for the consensus service, as this improves security, then create data directories.
Copy Kiln testnet configuration files.
Setup ownership permissions.
Configure systemd by running the following to define your consensus.service
configuration. Simply copy and paste.
Move the unit file to /etc/systemd/system
and give it permissions.
Run the following to enable auto-start at boot time.
Finally, start your consensus layer client, Lodestar and check it's status.
Press Ctrl
+ C
to exit the status.
Check your logs to confirm that the execution and consensus clients are up and syncing.
A properly functioning Besu execution client will indicate "Fork-Choice-Updates". For example,
Within Besu's logs, you might see a false warning. In reality, Lodestar consensus client is working fine and no cause for concern.
WARN | EngineExchangeTransitionConfiguration | not called in 120 seconds, consensus client may not be connected
A properly functioning Lodestar consensus client will indicate "info: Synced". For example,
Press Ctrl
+ C
to exit the logs.
For security and privacy reasons, it is best practice to use a brand new unused ETH address for these testnet activities. Do not re-use any of your existing mainnet ETH addresses.
With two easy methods, your can setup your mnemonic keys with either:
For the command line method,
Your deposit_data file is located in the following location:
Ensure your MetaMask is switched to the Kiln Testnet network.
Follow along the instructions at the Kiln Launchpad. You'll complete this process when you've uploaded your deposit_data-##########.json file and sent the corresponding 32 Kiln testnet ETH deposit to the Kiln staking deposit address.
Create a service user for the validator service, as this improves security, then create data directories.
Import your validator keys by importing your keystore file. Be sure to enter your keystore password correctly.
Setup ownership permissions, including hardening the access to this directory.
Verify that your keystore file was imported successfully.
Once successful, you will be shown your validator's public key.
For example, 0x8d9138fcf5676e2031dc4eae30a2c92e3306903eeec83ca83f4f851afbd4cb3b33f710e6f4ac516b4598697b30b04302
Configure systemd by running the following to define your validator.service
configuration. Simply copy and paste.
Move the unit file to /etc/systemd/system
and give it permissions.
Run the following to enable auto-start at boot time.
Finally, start your validator client and check it's status.
Check your logs to confirm that the validator clients are up and functioning.
A properly functioning Lodestar validator will indicate publishing of attestations. For example,
Press Ctrl
+ C
to exit the logs.
As a newly minted Ethereum Staker,
If node is remote then establish a ssh tunnel. Configure MetaMask with these settings.
Windows:
For examples of actual staking hardware builds, check out .
is an open-source Ethereum client designed for demanding enterprise applications requiring secure, high-performance transaction processing in a private network. It's developed under the Apache 2.0 license and written in Java.
is a Typescript implementation by the Chainsafe.io team. In addition to the beacon chain client, the team is also working on 22 packages and libraries. Finally, the Lodestar team is leading the Ethereum space in light client research and development and has received funding from the EF and Moloch DAO for this purpose.
Consensus client: check latest slot number with
Execution client: check latest block number with
Configure your to point to the Kiln testnet. Visit the website and hit the "Add Network to MetaMask" button.
Use the to acquire some testnet ETH. It may take a few moments, sometimes up to an hour, for the funds to appear in your wallet.
- the original command line based key generator
After running the staking deposit tool, you will have a deposit_data-##########.json file which you'll upload to the .
Verify your deposit was completed on a .
Monitor your validator's status and performance at by entering your validator's public key.
After making your 32 ETH deposit, your validator is placed into queue for activation which typically takes 6-24 hours. Once activated, your validator begins staking and attestation duties. Learn more about the
Congrats on setting up your Kiln “Merge” staking node!
#TestingTheMerge has a
Monitor your validator's earnings and performance at by entering your validator's public key.
Learn to connect your MetaMask wallet to