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
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.