Running your own node increases:
-read and write speed to a blockchain
-decentralization with more network endpoints for users to access
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?)
https://docs.prylabs.network/docs/install/install-with-script
https://www.quicknode.com/guides/infrastructure/how-to-install-and-run-a-geth-node
Terminal 1 (Prysm):
cd ethereum/consensus/prysm
./prysm.sh beacon-chain --prater --execution-endpoint=http://localhost:8551 --jwt-secret=jwt.hex
Terminal 2 (Geth):
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
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
HTTP
http://localhost:8545
WS
ws://localhost:8546
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
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/
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
Running different CL and EL also helps decentralize the network.
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
Tweet: https://twitter.com/vitalikbuterin/status/873177382164848641