※公式ドキュメントに更新があるかもしれないので見比べながら実施する。
※サーバーをソロステーキングと併用する想定。
(最終更新2024年10月11日)
目次
NodeSetとは
NodeSetとは、いわば「信頼されたソロステーカーの集まり」です。運営チームはRocket Poolプロトコルから派生しています。
ソロステーカーが集団になることで、安定して分散性の高い(≒セキュリティの高い)ステーキングサービスを提供できるようになります。また、ソロステーカーにとっても、ETHを担保にすることなく収益の機会を増やすことができるようになります。
NodeSetの参加条件
- ソロステーキングのバリデーターまたはロケットプールのミニプールを少なくとも1つ稼働している。6ヶ月以上稼働していて、直近90日のeffectivenssが95%以上。
- 運営チームメンバーと顔出しのインタビューを実施する(英語)。インタビューでは自分のサーバーのセットアップを聞かれたり、技術的な質問をされたりする。
- 内容が非公開なシビルチェックも実施されているらしい。
- NodeSetのバリデーター稼働後に、effectivenssが閾値を下回ると資格が剥奪されます。
NodeSetが提供するサービス(収益の機会)
NodeSetの参加条件を満たしている人は、任意のサービスに参加することができます。全てに参加する必要はないみたいです。
- StakeWise V3 Vault:
StakeWiseのVaultをNodeSet運営チームが作成します。NodeSet参加者はVaultのバリデーターを運用します。現在メインネットで稼働中です。 - Constellation:
Rocket Poolに新たに流動性をもたらす仕組みです。9月下旬にHoleskyテストネットでベータ公開されました。
Hyperdriveの設定手順
HyperdriveとはNodeSetチームが作成した簡単サーバー構築ツールです。ウィザード画面に従うだけで、実行クライアントとコンセンサスクライアントの設定ができます。参加するサービス(Module)もHyperdriveで選択できます。
Ubuntuの初期設定
- ソロステーキング手順に従って実行クライアントとコンセンサスクライントの同期まで実施する。
Hyperdriveのインストール
- CLIをダウンロードする。最新バージョンのURLは公式Githubから取得する。
取得後は、SSHに再接続する。
Constellationを試す場合は、v1.1.0 Beta 1以上をダウンロードしてください。
sudo wget https://github.com/nodeset-org/hyperdrive/releases/download/vX.X.X/hyperdrive-cli-linux-amd64 -O /usr/bin/hyperdrive && sudo chmod +x /usr/bin/hyperdrive
- Hyperdriveをインストールする。インストール後はSSHに再接続する。
hyperdrive service install
- Hyperdriveの設定ウィザードを起動する。
hyperdrive service config
- 設定ウィザードは以下を設定する。
- ネットワークは
Ethereum Mainnet
を選択 - Client Modeは
Externally Managed
を選択 - 実行クライアントは
Nethermind
を選択し、Nethermindの接続先HTTPを入力(例:http://192.168.11.77:8545
) - コンセンサスクライアントは
Lighthouse
を選択し、Lighthouseの接続先HTTPを入力(例:http://192.168.11.77:5052
) - Fallback ClientはNoを選択(将来的にはNodeSetとRescue Nodeが提携してRescue NodeがFallback Clientとして使えるようになるらしい)
- Stakewiseにチェックを入れる
- Metricsは不要
- MEV-Boostは
Externally Managed
を選択し、MEV-Boostの接続先HTTPを入力(例:http://192.168.11.77:18550
)
- ネットワークは
- 実行クライアントとコンセンサスクライアントの同期状態を確認する。
hyperdrive service sync
- Hyperdriveのコンセンサスクライアントのバージョンを確認し、ビーコンノードと異なる場合はビーコンノードの方を揃える。
hyperdrive service status
/usr/local/bin/lighthouse --version
- ログを確認して変なエラーが出てないか確認する。
hyperdrive service logs
ウォレットの設定
- 初期設定時は、設定ウィザードのプロンプトでウォレットを作成するか聞かれるので作成する。
- このウォレットはStakeWiseやConstellationなど、Hyperdrive上で動くサービス全てで利用されます。サービスごとにウォレットを作る必要はありません。
- 作成済みのウォレットを復旧する場合は
hyperdrive wallet recover
- パスワードをサーバーに保存するか聞かれる。利便性を考えて保存するようにする。
- 初期設定時は、NodeSetにValidator Keyを送信するかと、NodeをNodeSetに登録するかを聞かれるが、まだ実施できないので「No」にする。
NodeSet Dashboardアカウントの作成
- NodeSetのダッシュボードをブラウザで開く。
- MetaMaskはホットウォレットで開いておき(ハードウェアウォレットでもノードのウォレットでもない)、Sign-In with Ethereumをする。
- サインイン後はメールアドレスを入力し(インタビュー時に使用したメールアドレス)、メールで届く認証コードを入力する。
- メール認証後は、”You have not yet been added to any projects, but please check back soon.”と出たので、DiscordでNickにメールアドレスを伝えて確認依頼をしてもらう必要があった。
ウォレットにガス代を送金する
- Hyperdriveのウォレットを確認する。
hyperdrive wallet status
- もしHyperdriveのウォレットからの送金を試したければ。
hyperdrive wallet send 0.1 eth <送信先アドレス>
Hyperdriveのアップデート手順
- Hyperdriveを止める。
hyperdrive service stop
- CLIをダウンロードする。最新バージョンのURLは公式Githubから取得する。
sudo wget https://github.com/nodeset-org/hyperdrive/releases/download/v1.0.0/hyperdrive-cli-linux-amd64 -O /usr/bin/hyperdrive
- Hyperdriveをインストールする。
hyperdrive service install -d
- Hyperdriveの設定更新内容を確認する。
hyperdrive service config
- Hyperdriveのコンセンサスクライアントのバージョンを確認し、ビーコンノードと異なる場合はビーコンノードの方を揃える。
hyperdrive service status
/usr/local/bin/lighthouse --version
- ログを確認して変なエラーが出てないか確認する。
hyperdrive service logs
StakeWise Moduleの設定手順
StakeWiseのVaultをNodeSet運営チームが作成し、NodeSet参加者はバリデーターのKeyを作成してVaultに登録します。Vaultに資金が入ってきたらバリデーターに資金が割り当てられ、バリデーターの運用が開始されます。
NodeSet DashboardでStakeWiseにノードアドレスの登録
- NodeSet Dashboardログイン後のメニューからまたはここでHyperdriveのウォレットアドレスをホワイトリストに追加する。
- バリデーターのKeyを生成する。
hyperdrive stakewise wallet generate-keys
- 自分のノードがNodeSetに登録されているか確認する。登録されていなければ
Would you like to register your node now?
と聞かれるので登録する。登録するときのメールアドレスを聞かれる。
hyperdrive stakewise nodeset registration-status
- 作成したKeyをNodeSetに送信する。
hyperdrive stakewise nodeset upload-deposit-data
自分のバリデーターの稼働状況を確認する
hyperdrive stakewise status
報酬を受け取る(まだ自分のバリデーターがStakeWiseのVaultに採用されてないので試せていない)
- 報酬分配コントラクトに自分のバリデーターが登録されたら実施できる。
hyperdrive stakewise wallet claim-rewards
バリデーターを停止させる
- Exit待ちが発生する。Exitしても最後の報酬を出勤できるまでに時差がある。
hyperdrive stakewise validator exit
Constellationの設定手順
ロケットプールに預けられた資金をNodeSetのバリデーターが代わりに運用します。NodeSetは”信頼された”ノード運用者の集まりなので、ロケットプール本家のような16ETHまたは8ETHの担保は必要ありません。詳しい仕組みは公式ドキュメントを参照してください。
Hyperdriveのウォレットに1.1ETH以上を送金する
- 1ETHは一時的な担保に使われます。0.1ETHはガス代用です。
hyperdrive wallet status
Constellationにノードアドレスを登録する
- オンチェーンでの登録なのでガス代を消費します。
hyperdrive cs node register
- 登録されたか確認する。
hyperdrive cs node status
ミニプールを作成する
- 作成時に1ETHを一時的な担保として提出しますが、ミニプールのバリデーターが無事に稼働したら自動的に戻ってきます。
hyperdrive cs minipool create
※ミニプールの個数上限に達していない人同士で早いもの勝ちなので、ミニプール作成を自動化するスクリプトを書きました。
- ミニプールの作成が終わると、最初はInitializedステータスになります。資金が配分されたらPrelaunchステータスになります。そして12時間後にStakingステータスになります。
hyperdrive cs minipool status
2個目以降のミニプールを作成する
- ミニプールは1つずつしか作成することができません。2個目以降のミニプールを作成するためには、1個目のミニプールのExit messageに署名しておく必要があります。Exit messageはミニプールがビーコンチェーン上で稼働してインデックスが割り振られないと署名することができません。時期が来たら自動的にHyperdriveがExit messageに署名してくれます。
- 2個目以降のミニプールも作成時に1ETHを一時的な担保として提出します。
hyperdrive cs minipool create
バリデーターのログを確認する
- ミニプールのバリデーターが稼働されたら、ログを確認してAttenstationが正常に処理できているか確認します。
hyperdrive service logs cs_vc
バリデーターを退出させる
- バリデーターのExitメッセージがビーコンチェーンに送信され、時間が経つと退出されます。
hyperdrive cs minipool exit