Setting up Lodestar for the Kiln testnet is as simple as configuring a variable file and running a setup command. Our setup script will take care of most of the configuration for you.
Reference: https://github.com/ChainSafe/lodestar/tree/master/kiln/devnets
You will need to have the following installed:
We must install Docker Engine to run the images on your local machine.
If you're prompted to add new packages, press y
.
Navigate to the kiln.vars file
Use a text editor like nano
to edit the kiln.vars file
Inside the kiln.vars file, you can add, remove or modify configurations related to the execution layer client you intend to use, Lodestar beacon configurations and the validator configurations.
Ensure you edit the LODESTAR_VALIDATOR_ARGS=
by replacing the mnemonic under --fromMnemonic
and the --mnemonicIndexes
in the format that is provided.
Run with separate terminals launched & attached (best for testing in local) :
./setup.sh --dataDir kiln-data --elClient nethermind --devnetVars ./kiln.vars --withTerminal "gnome-terminal --disable-factory --" --dockerWithSudo
Run in-terminal attached with logs interleaved (best for testing in remote shell) :
./setup.sh --dataDir kiln-data --elClient nethermind --devnetVars ./kiln.vars --dockerWithSudo
Run detached (best for leaving it to run, typically after testing 1 or 2):
./setup.sh --dataDir kiln-data --elClient nethermind --devnetVars ./kiln.vars --detached --dockerWithSudo
You can alternate between geth
and nethermind
to experiment with the ELs being out of sync ( and catching up) with lodestar
.
dataDir
: Where you want the script and client's configuration data to be setup. Should be non-existent one for the first run. (The directory if already present will skip fetching the configuration, assuming it has done previously). You can also clean indivizual directories of CL/EL between the re-runs.elClient
: Which EL client you want, currently working with geth
or nethermind
or ethereumjs
devnetVars
: Contains the configuration specific to a devnet, like images, or urls for EL/CL to interact. Will be updated with new vars.dockerWithSudo
(optional): Provide this argument if your docker needs a sudo prefix--withTerminal
(optional): Provide the terminal command prefix for CL and EL processes to run in your favourite terminal.--detached
(optional): By default the script will wait for processes and use user input (ctrl +c) to end the processes, however you can pass this option to skip this behavior and just return, for e.g. in case you just want to leave it running.--withValidator
(optional): Launch a validator client using LODESTAR_VALIDATOR_ARGS
as set in the devnet vars file.Only one of --withTerminal
or --detached
should be provided.