Skip to content

How to setup Geth and Prysm node clients after the Merge.

Notifications You must be signed in to change notification settings

WeiBridged/NodeGoerliMerge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

52 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โ“ Why should I run a node โ“

Running your own node increases:

-read and write speed to a blockchain

-decentralization with more network endpoints for users to access

๐Ÿปโ€โ„๏ธ + ๐Ÿป = ๐Ÿผ Merge Node Client Communication ๐Ÿผ = ๐Ÿป + ๐Ÿปโ€โ„๏ธ

Post merge blockchains (like Goerli) require 2 clients to be synced together to run a node to access the network:

-Consensus Layer (Which blocks and transactions should I validate?)

-Execution Layer (How do I execute EVM logic and build transactions?)

clients

Install Merge Node Clients for Consensus Layer and Execution Layer

Prysm (CL)

https://docs.prylabs.network/docs/install/install-with-script

Geth (EL)

https://www.quicknode.com/guides/infrastructure/how-to-install-and-run-a-geth-node

Run RPC node clients at the same time in different terminals

Terminal 1 (Prysm):

cd ethereum/consensus/prysm
./prysm.sh beacon-chain --prater --execution-endpoint=http://localhost:8551 --jwt-secret=jwt.hex

Terminal 2 (Geth):

โš ๏ธ Make sure you downloaded the genesis.ssz file into your prysm folder! โš ๏ธ

cd ethereum/execution 
geth --goerli --http --http.api eth,web3,net,txpool --ws --ws.api eth,web3,net,txpool --authrpc.jwtsecret ../consensus/prysm/jwt.hex

Sync status

To check node status sync:

Prysm is done syncing when: "is_syncing:false"

Geth is done syncing when: "is_optimistic:false"

curl http://localhost:3500/eth/v1/node/syncing | jq 

Prysm sync monitor: https://prater.beaconcha.in/blocks

Geth sync monitor: https://goerli.etherscan.io/blocks

Using RPC endpoints

HTTP

http://localhost:8545

WS

ws://localhost:8546

Geth IPC Commands

Start IPC server

geth attach http://localhost:8545 

Check the chainId:

eth.chainId()

Check sync status:

eth.syncing

Check sync status based on blocks left to sync:

eth.syncing.highestBlock - eth.syncing.currentBlock

Run a Validator

Create and deposit validator key data:

๐Ÿผ You must be running the EL (Geth) and CL (Prysm) RPC node clients as shown above to have your validator synced. ๐Ÿผ

๐Ÿ” Do this with your internet off to hide your validator seed phrase written down on paper. ๐Ÿ”

๐Ÿ’ฒ Make sure you have 32 ETH to deposit. ๐Ÿ’ฒ

๐Ÿ”Ž Check the address you are depositing to with your validator seed phrase written down with the correct smart contract transaction calldata. ๐Ÿ”Ž

๐Ÿšจ Sync the CL and EL RPC nodes before you make the deposit to avoid potentially losing Ether being offline once it is received. ๐Ÿšจ

โ˜Ž๏ธ Use Infura or any other node provider to connect to Prysm while Geth syncs if you sent Ether before syncing by accident. โ˜Ž๏ธ

๐Ÿ›ฐ๏ธ If even Prysm hasn't synced yet, consider using a simple 3rd party validator service like Allnodes on Goerli (Allnodes appears to not ask for your validator seed phrase to prevent stealing your staked 32 ETH). ๐Ÿ›ฐ๏ธ

https://goerli.launchpad.ethereum.org/en/

validator

To start validator once you follow all of these steps:

https://docs.prylabs.network/docs/install/install-with-script#step-5-run-a-validator-using-prysm

run:

cd ethereum/consensus/prysm
./prysm.sh validator --wallet-dir=/home/<USER>/ethereum/consensus  --prater

๐Ÿ“ฌ Guide to withdraw validator stake ๐Ÿ“ฌ :

https://launchpad.ethereum.org/en/withdrawals

๐Ÿฎ Wagyu GUI Tool To Update Withdraw Address ๐Ÿฎ :

https://github.com/stake-house/wagyu-key-gen

Client diversity

Running different CL and EL also helps decentralize the network.

https://clientdiversity.org/

Prysm shows how to setup other clients easily by selecting which clients you want to use:

https://docs.prylabs.network/docs/install/install-with-script

โ›ฐ๏ธ This guide turns a weird mountain man fantasy into reality โ›ฐ๏ธ

tweet

Tweet: https://twitter.com/vitalikbuterin/status/873177382164848641

About

How to setup Geth and Prysm node clients after the Merge.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages