コンテンツへスキップ

ソロステーキング:メインネットとテストネットの作業相違点

(最終更新2024年6月16日)

ぶっつけ本番でバリデーター運用をするのはオススメしません。まずはテストネットで一通りの流れを試して不明点を無くしてください。そして2週間ほどサーバーを起動させておき、ハードウェア構成やインターネット環境に異常がないことを確認してください。

メインネットとテストネットの作業相違点は以下の通りです。

  • 手順4「イーサリアムの実行クライアントの同期」
    • GethまたはNethermindのネットワークをmainnetではなくholeskyに指定する。Nethermindであれば、Sync.AncientBodiesBarrierSync.AncientReceiptsBarrierのオプションは使用しない。
[Unit]
Description=Go Ethereum
After=network.target
Wants=network.target

[Service]
User=goeth
Group=goeth
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/geth \
  --datadir /var/lib/goethereum \
  --holesky \
  --authrpc.jwtsecret /var/lib/jwtsecret/jwt.hex

[Install]
WantedBy=default.target
[Unit]
Description=Nethermind
After=network.target
Wants=network.target

[Service]
User=nethermind
Group=nethermind
Type=simple
Restart=always
RestartSec=5
WorkingDirectory=/var/lib/nethermind
Environment="DOTNET_BUNDLE_EXTRACT_BASE_DIR=/var/lib/nethermind"
ExecStart=/usr/local/bin/nethermind/nethermind \
  --config holesky \
  --datadir /var/lib/nethermind \
  --Sync.SnapSync true \
  --JsonRpc.JwtSecretFile /var/lib/jwtsecret/jwt.hex

[Install]
WantedBy=default.target
  • 手順5「イーサリアムのコンセンサスクライアントの同期」
    • ネットワークをmainnetではなくholeskyに指定する。
    • Checkpoint-sync-urlもholeskyのURLに変更する。
[Unit]
Description=Lighthouse Beacon Node
Wants=network-online.target
After=network-online.target

[Service]
User=lighthousebeacon
Group=lighthousebeacon
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/lighthouse bn \
  --network holesky \
  --datadir /var/lib/lighthouse \
  --http \
  --execution-endpoint http://localhost:8551 \
  --checkpoint-sync-url https://holesky.beaconstate.info \
  --execution-jwt /var/lib/jwtsecret/jwt.hex \
  --builder http://localhost:18550

[Install]
WantedBy=multi-user.target
  • 手順6「ETHのデポジットとウォレット作成」
    • 鍵生成するときのコマンドはmainnetではなくholeskyを指定する。例:./deposit new-mnemonic --chain holesky
    • デポジットするサイトのURLはholesky.launchpad.ethereum.orgです。また、絶対にメインネットのETHを使用せずに、テストネットのETH(無料)を使用してください。
    • ウォレット作成時のコマンドはmainnetではなくholeskyを指定する。
lighthouse account validator import --network holesky --directory $HOME/eth2.0-deposit-cli/validator_keys --datadir /var/lib/lighthouse
  • 手順7「バリデーターの設定」
    • ネットワークをmainnetではなくholeskyに指定する。
[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 vc \
  --network holesky \
  --datadir /var/lib/lighthouse \
  --suggested-fee-recipient 0x000...000 \
  --builder-proposals

[Install]
WantedBy=multi-user.target
  • 手順8「バリデーター確認用アプリのインストール」
    • 設定でNetworkを切り替えれます。1つのアプリでメインネットとテストネットの両方の通知を受け取ることができます。
  • 手順10「(任意) MEV relayの設定」
    • 正直、テストネットではMEVを試す必要はないと思います。試す場合はserviceファイルのExecStartオプションの-mainnet-holeskyにする。
    • RelayのURLもテストネット用のものにしてください。ここにURLの一覧がまとめられています。または、各Relayのドキュメントに記載されてます。例:Flashhbots
[Unit]
Description=MEV-boost
Wants=network-online.target
After=network-online.target

[Service]
User=mev
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/mev-boost \
  -holesky \
  -relay-check \
  -relays https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-holesky.flashbots.net \
  -min-bid 0.05

[Install]
WantedBy=multi-user.target

テストネットでは「Attestation Missed」という通知が頻繁に来ますが心配しないでください。ブロック生成をするバリデーターのせいで自分ではどうしようもないことが多いです。Attestation Effectivenessが80%以上であれば正常です。メインネットでは98%以上が正常です。