Skip to main content

Load Keys to Node

For Reth-Lighthouse Template

Copy Key File

In the mainnet-reth-lighthouse folder, you will see an empty validator_keys folder. Copy your keystore- file generated by the CLI tool to it. Your folder tree should look like this:

mainnet-reth-lighthouse
├── validator_keys
│   ├── keystore-m_12381_3600_0_0_0-1716876797.json

Generate key secrects file

Run this script with your keystore file's password to generate a secrets file, so your validator can import your keys:

python3 lighthouseSecrets.py validator_keys/ 12345678

If no errors are shown after this command, you will see a file generated in the validator_keys_secrets folder:

validator_keys_secrets/
└── 0xb8d4524f48828ff1b878918c2b403a9d693ffd078901b6b41b28fd76fed8abda12ec2e8bafe3f9b9b80322c238a7412b

The filename is the public key in your keystore file, and the file content is your password:

mainnet-reth-lighthouse# cat validator_keys_secrets/0xb8d4524f48828ff1b878918c2b403a9d693ffd078901b6b41b28fd76fed8abda12ec2e8bafe3f9b9b80322c238a7412b 
12345678
note

The script is just a helper to generate the secrets file; you can modify it directly.

Restart node

Stop your node first:

./down.sh

Then start your node:

./start.sh

Check the node status now:

./status.sh

You will get this output:

Requesting current block number from the Endurance mainnet...
Current Block Number:
---
Requesting current Execution Layer node peer count...
Execution Layer Peers:
---
Requesting current Consensus Layer node peer count...
Consensus Layer Peers: {"data":{"connected":"21","connecting":"2","disconnected":"10","disconnecting":"0"}}
---
Requesting current syncing status of the Endurance 2.0 node...
Syncing Status: {"data":{"is_syncing":true,"is_optimistic":false,"el_offline":true,"head_slot":"612216","sync_distance":"298"}}
---
Requesting current validator status...
Validator Status: {"data":[{"enabled":true,"description":"","voting_pubkey":"0xb8d4524f48828ff1b878918c2b403a9d693ffd078901b6b41b28fd76fed8abda12ec2e8bafe3f9b9b80322c238a7412b"}]}
---
(venv) root@ubuntu-32gb-hel1-3:~/testmainnet/mainnet-reth-lighthouse# ./status.sh
Requesting current block number from the Endurance mainnet...
Current Block Number: {"jsonrpc":"2.0","result":"0x9576d","id":1}
---
Requesting current Execution Layer node peer count...
Execution Layer Peers: {"jsonrpc":"2.0","result":"0x4","id":1}
---
Requesting current Consensus Layer node peer count...
Consensus Layer Peers: {"data":{"connected":"27","connecting":"0","disconnected":"12","disconnecting":"0"}}
---
Requesting current syncing status of the Endurance 2.0 node...
Syncing Status: {"data":{"is_syncing":false,"is_optimistic":false,"el_offline":false,"head_slot":"612528","sync_distance":"0"}}
---
Requesting current validator status...
Validator Status: {"data":[{"enabled":true,"description":"","voting_pubkey":"0xb8d4524f48828ff1b878918c2b403a9d693ffd078901b6b41b28fd76fed8abda12ec2e8bafe3f9b9b80322c238a7412b"}]}
---

The important part is Validator Status, which shows the keys you have loaded.