Skip to content

Latest commit

 

History

History

node

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

ethereum node(EL Client(geth)/CL Client(prysm)/MEV-boost)を建てる

準備

  1. git cloneし、ディレクトリに移動します

    git clone https://github.com/takesaki/ethereum-staking.git
    cd ethereum-staking/node
  2. EL/CL間通信時の認証情報(jwt secret)ファイルjwtsecretを作成します

    参考

    openssl rand -hex 32 | tr -d "\n" > "jwtsecret"
    

    作成したjwtsecretはBeacon Nodeからも参照されます

起動

  1. 以下のコマンドで起動します
    docker compose --env-file mainnet.env up -d
  2. 起動した後はエラーログがないか確認しておきましょう
    docker compose logs -f

testnet(goerli)で動かす場合は

  • conf.d/eth2/beacon.yamlcheckpoint-sync-urlを変更
  • 起動オプションを変更(mainnet.envをgoerli.envに)
    docker compose --env-file goerli.env up -d

TIPS  

  • 4000番ポートにvalidatorはアクセスしてきますFWなどは開けておきましょう

gethのAPIの実行

各コンテナにexecするのは、監査的に良くないのでアクセス用のコンテナを建てる

docker run --rm -it \
  --network node_default \
  ethereum/client-go:stable \
  attach http://geth:8545

取得したConsoleで色々試せます

  • Sync状況 eth.syncing
    結果がfalseならSyncできてる
  • peer接続数 net.peerCount

prysmのAPIの実行

動作確認用コンテナを立てる

docker run --rm -it \
  --network node_default \
  takesaki/toolbox
  • ELとの接続状態を確認
    curl -s http://beacon:3500/eth/v1/node/syncing | jq
  • BeaconCahinの状態を確認
    curl -s http://beacon:8080/healthz

Trouble Shooting

  • Consensus Client同期が終わらない
    Execution Clientが先に同期完了している必要があるため、Execution Client起動直後はしばらく時間がかかります