Skip to main content

Consensus Client: Oone Lighthouse

To connect to the OONE chain, you need to compile and run the Oone version of lighthouse.

danger

If you do not use the Oone version of lighthouse, your deposits will be lost

Lighthouse

Lighthouse is a consensus client with a heavy focus on speed and security. Built by Sigma Prime, an information security and software engineering firm who have funded Lighthouse along with the Ethereum Foundation, Consensys, and private individuals.

More on Lighthouse and Sigma Prime

Code changes

The Oone version oone-world/lighthouse is a fork from the original sigp/lighthouse with a change of the deposit amount from 32 to 20000 and base reard factor from 64 to 280

Language information

Lighthouse is built in Rust and offered under an Apache 2.0 License.

Installation

These commands download the Oone lighthouse repository, switch to the oone branch, compile and install the dependencies

curl https://sh.rustup.rs -sSf | sh
source "$HOME/.cargo/env"
apt install make cmake cargo build-essential protobuf-compiler libclang-dev
git clone https://github.com/oone-world/lighthouse.git
cd lighthouse
git switch oone
make

Running the beacon client

Download and extract the oone-lighthouse-config compressed folder.

Run the following command to start your Lighthouse Beacon client

lighthouse beacon \
--testnet-dir oone-lighthouse-config \
--execution-endpoint http://127.0.0.1:8551 \
--execution-jwt ~/.ethereum/geth/jwtsecret \
--http

Key management

Oone Lighthouse uses the Oone Staking Deposit CLI to generate the validator keys to make the transfer from the Launchpad as easy as possible.

Specifically, when starting your lighthouse validator client, you can point it at the directory with your keystores and it will import your keystores and interactively ask for your password(s). If you do not supply a password, lighthouse will ask for it again every time it starts up.

lighthouse account validator import \
--testnet-dir oone-lighthouse-config \
--directory staking-deposit-cli/validator_keys

Once the process is complete, you should see the following:

Successfully moved keystore.
Successfully updated validator_definitions.yml.
Successfully imported 1 validators.

Running the validator client

Now that the keys are imported, all that is left to do (assuming your beacon node is already running) is to run the validator client.

Replace the fee recipient Etherem Address in the command below and run it to start the validator client.

lighthouse validator \
--testnet-dir "./volumes/lighthouse-testnet/" \
--suggested-fee-recipient <<My fee recipient Etherem Address>>

If you want to add a personal graffiti (some text of your choice) that would be added to your proposed blocks, you can add the following flag to the validator command above:

    --graffiti "<<My personal graffiti>>"

Docker usage

Use this instruction for launching beacon node and validator client using docker

Troubleshooting

Importing from Launchpad documentation

Documentation

Documentation on running Lighthouse

Remember

After client installation, ensure you are fully synced before submitting your staking deposit. Validator checklist