(最終更新2024年6月16日)
ぶっつけ本番でバリデーター運用をするのはオススメしません。まずはテストネットで一通りの流れを試して不明点を無くしてください。そして2週間ほどサーバーを起動させておき、ハードウェア構成やインターネット環境に異常がないことを確認してください。
メインネットとテストネットの作業相違点は以下の通りです。
- 手順4「イーサリアムの実行クライアントの同期」
- GethまたはNethermindのネットワークを
mainnet
ではなくholesky
に指定する。Nethermindであれば、Sync.AncientBodiesBarrier
とSync.AncientReceiptsBarrier
のオプションは使用しない。
- GethまたはNethermindのネットワークを
[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
- 正直、テストネットではMEVを試す必要はないと思います。試す場合はserviceファイルのExecStartオプションの
[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%以上が正常です。