ETH 2.0 - Validator

Eth2 || Validator || Generate Keys

triangle-exclamation

Eth2 keys should be generated in a safe environment.

Once you have generated your keys, the next step is to submit a deposit using the Launchpad.

Eth2 || Prater || Launchpad

circle-exclamation

circle-info

You already installed an Eth1 node, synced an Eth2 beacon node, and generated the key pairs, so click continue until you reach "Upload Deposit File".

Upload Deposit File

Drag and drop your Deposit Data file onto the launchpad site

Select Metamask Wallet

triangle-exclamation

Never send real ETH to the testnet deposit contract!

Metamask (Insufficient Balance)

circle-info

You'll notice warnings that you don't have enough GoETH and the continue button is faded. Not a problem since you won't actually be sending the 32 GoETH through the launchpad.

Right click and "Inspect (Q)":

You can't click CONTINUE because you're GoETH balance is too low, so we need to edit a command in the HTML code which will allow us to proceed.

Right click on the CONTINUE button and select Inspect (Q)

Change Disabled to Enabled

Change disabled to enabled as shown in this linkarrow-up-right, then close the editor.

circle-info

After that change, you should be able to click CONTINUE and advance to the next page.

Accept the Risks and Continue

Initiate transaction by clicking "SEND DEPOSIT":

Confirm Prater Deposit Address is Correct:

circle-info

Check in the upper right corner in Metamask to ensure you are sending to the correct address

  • Prater Deposit Contract: 0xff50ed3d0ec03aC01D4C79aAd74928BFF48a7b2b

Click "DATA" and scroll down to "HEX DATA":

Copy the "HEX DATA" - (Below is a sample)

0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001205d12b827982c2850ff7e23d4c818049f9d9a588cdba8e2913e48651ab370f75f0000000000000000000000000000000000000000000000000000000000000030b8af108a4185d7704b9d9665e269e3d6dc785601a405450a922a99411d9b01b6f23b9beeea4871a87478c8a95f4202540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200094b5b364368c7f6ed0464ddf89fa20a78f0eb92e50d29c6d96b11d70a755b600000000000000000000000000000000000000000000000000000000000000608d34c9a2aed60e6cd9d74a4c2b9e087cb18c83c7251059fc4edb13e4364db334e49c558a365bb258da86edcecf81d2160bd7c14e8250d10068ef85b64a5a8ca296fdeff5763fe5f76bac1dd32928a754814923920bbcbed3a368c7587b015f0b

Join EthStaker Discord

Join the EthStaker Discordarrow-up-right and find the channel named "request-goerli-eth"

Submit HEX DATA to EthStaker bot as shown below (add !goerliETH in front)

!goerliEth 0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001205d12b827982c2850ff7e23d4c818049f9d9a588cdba8e2913e48651ab370f75f0000000000000000000000000000000000000000000000000000000000000030b8af108a4185d7704b9d9665e269e3d6dc785601a405450a922a99411d9b01b6f23b9beeea4871a87478c8a95f4202540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200094b5b364368c7f6ed0464ddf89fa20a78f0eb92e50d29c6d96b11d70a755b600000000000000000000000000000000000000000000000000000000000000608d34c9a2aed60e6cd9d74a4c2b9e087cb18c83c7251059fc4edb13e4364db334e49c558a365bb258da86edcecf81d2160bd7c14e8250d10068ef85b64a5a8ca296fdeff5763fe5f76bac1dd32928a754814923920bbcbed3a368c7587b015f0b

Transaction Successful

circle-info

The bot should respond with a confirmation, but it may take some time to complete the deposit on chain if there is congestion on the Goerli testnet.

Use http://prater.beaconcha.in/arrow-up-right to search your validator and check the status

circle-info

The deposit_data-[timestamp].json file contains your validator"pubkey" which you can use to check the status of Eth1 and Eth2 deposits.

Once the deposit is confirmed, you'll enter the queue and be assigned an activation epoch.

Click Deposits

Eth2 || Validator || Import Keys

Change Ownership of Lighthouse Directory:

triangle-exclamation

DO NOT JUST COPY THE NEXT COMMAND

Change directory to lighthouse

Import keystore into Lighthouse:

circle-info

Copy your keystore file from the USB to the HOME folder then run the following command:

Keys Successfully Imported

circle-info

Once the keystore is imported, you can delete the keystore from the HOME folder.

You should save an offline copy of the keystore on the USB, but you can always generate a new keystore file using the 24 word mnemonic if needed.

Change ownership of /var/lib/lighthouse back to root:

Change ownership of /var/lib/lighthouse/beacon :

Eth2 || Validator || Systemd

Create lighthousevalidator user:

Create /var/lib/lighthouse/validators directory:

Set permissions for /var/lib/lighthouse/validators :

Create lighthousevalidator.service:

Paste the following into the file:

[Unit] Description=Lighthouse Validator Wants=network-online.target After=network-online.target [Service] User=lighthousevalidator Group=lighthousevalidator Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/lighthouse validator_client --datadir /var/lib/lighthouse --network prater [Install] WantedBy=multi-user.target

The file should look like this:

circle-info

Use Ctrl + X to exit, Y to save, then Enter to confirm.

Below is a description of the commands used to in the validator service file:

  • /usr/local/bin/lighthouse validator_client - start validator client

  • --datadir /var/lib/lighthouse/validator - data directory for lighthouse validator

Reload Daemon:

ETH2 || Validator || Run

Start lighthousevalidator.service:

Check lighthousevalidator.service output:

circle-info

This shows running journal entries created by lighthousevalidator.service . You can use Ctrl + C to close the window, but the program will continue running in the background.

Use sudo systemctl stop lighthousevalidator if you need to stop the service.

Validator || Waiting for Beacon Node to Sync

If the beacon node has not finished syncing, the validator will provide a warning:

Validator || Awaiting Activation

circle-info

You can use https://prater.beaconcha.in/arrow-up-right to check the status of your validator.

Beaconcha.in || Awaiting Activation

Validator || Successful Attestation

circle-check

Update Geth (and other system software)

Update Lighthouse

circle-info

Lighthouse does not automatically update. Follow these instructions to install updates:

1. Stop lighthousebeacon and lighthousevalidator

2. Change directories, pull master, and make:

3. Copy into /usr/local/bin:

4. Start beacon node and check output:

5. Start validator and check output:

circle-check

Last updated