イーサリアム2.0の32ETHステーキングは予定通り2020年11月5日に開始し、デポジットコントラクトがイーサリアムメインネット(レガシーチェーン)にデプロイされました。イーサリアム2.0フェイズ0のBeacon Chainの起動は、最短で2020年12月1日21時となっており、現在は32ETHを事前にステーキングする準備段階となっています。
イーサリアム2.0でステーキングを行うには、イーサリアムファンデーション公式のUIであるローンチパッド(Launch Pad)を使用する必要があります。テストネットの頃と比較すると、ステーキングは非常にやりやすくなってはいますが、コマンドラインや英語が必須となるため、非エンジニアには難易度が非常に高いと言えます。
本稿では非エンジニア向けの一般ユーザーがローンチパッドを使用して32ETHをステーキングするための注意点ややり方、エラーの対処法などを詳しく画像とともに解説を行います。
- 1 32ETHステークのローンチパッドとは?
- 2 Pyrmontテストネットでテストする
- 3 イーサリアム2.0ステーキングへの同意
- 4 ETH1ノード(Geth)を建てる
- 5 イーサリアム2.0クライアント選択
- 6 ETH2デポジットコントラクトのCLIアプリをダウンロード
- 7 必要な事前準備
- 8 ETH2デポジットデータとKeystoreを生成するやり方
- 9 PermissionError「Failed to execute script」の原因と対処方
- 10 32ETHデポジットデータをアップロード
- 11 ETH2デポジットデータがアップロードできない場合
- 12 イーサリアムステーキング前の確認
- 13 デポジットコントラクトに接続する
- 14 32ETHをステーキングする
- 15 Pyrmontテストネットで行う場合(追記)
- 16 GoETHで32ETHを入手する
- 16.1 Goerli ETHのファウセット
- 16.2 PrysmでGoETHを入手
- 17 Pyrmont ETH2ローンチパッド(追記)
- 18 墨汁うまいに質問をする
32ETHステークのローンチパッドとは?
イーサリアム2.0のローンチパッド(Launch Pad)とは、イーサリアム2.0のステーキングにおいてデポジットコントラクトを使用するためのインターフェイスを指します。32ETHをステーキングするにはローンチパッドを使用する必要があり、イーサリアムファンデーションが提供している公式のインターフェイスとなります。
ローンチパッドの公式URLは「launchpad.ethereum.org」となっており、フィッシングや詐欺サイトに注意してください。不安な場合はイーサリアムファンデーション公式ツイッターのツイートからアクセスしましょう。
ドメインはイーサリアムファンデーションの公式であるethereum.orgのサブドメインとなっており、それ以外はフィッシングの可能性があるので必ず確認しましょう。
イーサリアム2.0フェイズ0におけるバリデータのリスクについては墨汁マガジンVol.499「32ETHステーキングの4つの大きなリスク イーサリアム2.0バリデータの必須知識」を参照してください。
Pyrmontテストネットでテストする
2020年11月18日、Medallaテストネットの後継にあたる”Pyrmont(ピルモント)”テストネットが実装されました。PyrmontテストネットはMedallaテストネットと同様に、Goerliテストネット上に展開しているイーサリアム2.0のテストネットになります。イーサリアムメインネット上で32ETHステーキングを行う前に、Pyrmontテストネットで32GoETHをステーキングテストを必ず行うことを推奨します。
Pyrmontテストネットでテストする場合には下記を参照してください。
イーサリアム2.0ステーキングへの同意
*免責事項:イーサリアム2.0における32ETHのステーキングで操作ミスやバグなどによりETHが失われても自己責任となります。Keystoreとニーモニックフレーズのバックアップ、URLの確認など注意しておこなってください。
ではまずローンチパッドにアクセスしたらURL(launchpad.ethereum.org)①が正しいことを確認し、「Get Started②」をクリックしましょう。
ここではイーサリアム2.0でステーキングする場合、確認事項となるスラッシュリスクや32ETHの引出しなどの注意事項に同意を行います。本稿では全てを理解していると仮定し、「Confirmation③」に進むまで④をクリックしましょう。
ETH1ノード(Geth)を建てる
2020年11月現時点ではイーサリアムレガシーチェーン上にBLS署名が実装されていないため、32ETHをステーキングする場合にはETH1のノードを建てる必要があります。イーサリアムクライアントを選択肢でき、
・Geth
・OpenEthereum(元Parity)
・Besu
・Nethermind
から選ぶか、InfuraなどのIPFSを利用する必要があります。ここではイーサリアムファンデーションが開発していて、最も安定している「Geth⑤」を選択します。
また32ETHのステーキング自体にはGethは使用しないので、あとでも問題はありません。
Check
イーサリアムクライアントであるGethインストールのやり方についてはリサーチレポートの「イーサリアムKeystoreを安全に管理する Gethでアカウントを作成する方法」を参照してください。
イーサリアム2.0クライアント選択
Gethをダウンロードし、インストールすることができたら画面を下にスクロールさせ、「Continue①」をクリックしましょう。
Gethをインストールしたあとはイーサリアム2.0のクライアントの選択となります。イーサリアム2.0のクライアントは8クライアントほどありますが、メインネット実装を行えており安定稼働するのは現時点では
・Teku
・Prysm
・Lighthouse
・Nimbus
の4クライアントとなっており、②から選択しましょう。
このイーサリアム2.0クライアントの選択もGethと同様に後ほどBeacon Nodeとバリデータクライアント起動時に使用するため、現時点ではインストールしなくても問題ありません。
Check
選択したら「Continue③」をクリックして次に進みます。
ETH2デポジットコントラクトのCLIアプリをダウンロード
ではここからが重要な32ETHステーキング前準備段階になるので、慎重に行ってください。まずイーサリアム2.0のKeystoreとJSON形式のデポジットデータ(Deposit Data)を生成するためのCLIアプリをダウンロードします。まず登録するバリデータ数を④(32ETHごと)を入力(ここは入力しなくてもあとで変更可能)し、複数のバリデータである”マルチバリデータ”を行う場合には1以上を入力します。
マルチバリデータとしてステーキングを行うには