イーサリアムのマージ(The Merge)から32ETHをステーキングしているETHバリデータは運用方法が大幅に変更が加えられており、各バリデータは自己の知識を元に対応をする必要があります。
一方で非エンジニアや投資家には要求が非常に高いため、エラー(ERROR)やWARNなどが表示されて、Beacon Nodeが起動できなかったりアテステーション(Attestation)やブロックプロポーズができないなどのエラーが表示されることがあるでしょう。
本稿ではよくあるエラー例を元に、その原因について解説し対処法を一覧でわかりやすく解説を行います。
本稿は2022年9月15日に行われたイーサリアムの超大型アップデート”マージ(The Merge)”に非エンジニアのバリデータが対応するためのマニュアルのエラー対処版となっています。
実際の起動や各種設定についてはリサーチレポート「【マージ対応】イーサリアムステーキングのバリデータ運用 BeaconNodeとETH1エンジンの起動方法」にてわかりやすく解説していますので、そちらを先に参照してください。
WARNとERROR
イーサリアムノードでの同期を行う際、同期情報として主に
1.INFO
2.WARN
3.ERROR
の3つの情報が表示されます。
1のINFOは主にブロック情報やPeerとの接続、ブロック高(スロット高)などの一般的な除法が英語で表記されているもので、問題はありません。またWARNも致命的なエラーなどではなく、メインネットやテストネットへの接続など”必要であるが同期に著しく問題がないもの”などがわかりやすくめにつく形で表記されているものが大半です。
一方でERRORが表示されている場合は
・そもそものBeacon Nodeが起動ができない
・アテステーションができない
・スロットを同期できない
などの影響を受けるため、ERRORが表示される場合はその大本の原因を解決する必要があるのです。
ERROR powchain
まずPrysmなどのBeacon Node側で見られるpowchain関連のエラー例から見てみましょう。
「Could not check configuration values between execution and consensus client error=got an unexpected error in JSON-RPC response: Post “http://localhost:8551”: context canceled」
イーサリアムのマージ(The Merge)後はEL(実行レイヤー)とCL(コンセンサスレイヤー)の2つでイーサリアムを構成しているため、エラーでもどちらのチェーンが問題かを把握しやすくなっています。
例えば
ERROR powchain: Could not check configuration values between execution and consensus client error=got an unexpected error in JSON-RPC response: Post “http://localhost:8551”: context canceled
という典型的なエラーでは「ERROR powchain」とあるようにGethなどのETH1エンジン側のノードにエラーがあるということを示しています。
JSON-RPC関連のエラー対処法
ここでの警告文では
「ELとCL間の設定値が確認できない」
とあり、JSON-RPCのレスポンスに予期せぬエラーがあり、Beacon Node起動時に指定した”http://localhost:8551”に問題があると表記されているのです。このエラーの理由としてEL側