コンテンツへスキップ

自宅サーバーでETHをステーキングする方法 (ロケットプール)

※ 32ETHでソロステーキングする方法はこちらにまとめています。

目次

ロケットプールとは

個人が32ETHをデポジットしてバリデーターを運用することを「ソロステーキング」といいます。2023年3月時点の価格で、32ETHは約700万円に相当します。ETHの価格が上昇していくにあたり、32ETHを個人で用意できる人は少なくなりつつあります。

32ETH未満でステーキングしたい場合は、取引所への委託が主流となります。バイナンスなどの海外取引所がステーキング代行を提供していますが、国内の取引所ではまだ提供されていません。

取引所を利用したくない場合は、ETHをLSD(Liquid Staking Derivatives)トークンに交換する方法があります。LidoのLSDトークンであるstETHや、ロケットプールのLSDトークンであるrETHは、ウォレットに保持しているだけで世界の誰かが代わりにバリデーターの運用をしてくれ、手数料を差し引いた報酬を定期的に受け取ることができます。

『ステーキングを他人に委託したくない!』『自分のサーバーでバリデーターを運用したい!』『32ETHも持ってない!』という場合は、ロケットプールのミニプールを立ち上げることで実現できます。ロケットプールでは、バリデーター運用者が8ETHまたは16ETHを用意してミニプールを作り、32ETHに足りない分をrETHの保有者から補充します。資金のやり取りはすべてコントラクトで管理されており、持ち逃げができないようになっています。

本記事では、8ETHまたは16ETHを使ってロケットプールのバリデーターを構築する方法を説明しています。

画像はethereum.org/ja/staking/pools/より抜粋

※ ロケットプールと似たような仕組みでよく引き合いに出されるのはLidoです。ただ、Lidoは誰でもバリデーターを運用できるわけではなく、Lido DAOが許可した組織のみバリデーターを運用することができます。誰でもミニプールを作成できるロケットプールの方が圧倒的に分散性が高く、よりイーサリアムのセキュリティを上げることに貢献していると言えます。

ソロステーキングとの報酬の違い

ETHの収益性を比べると、
ロケットプールのミニプール運用 > ソロステーキング > 委託(取引所やLSDトークン)
です。

ロケットプールのミニプール運用者は、rETHの保持者から預かったETHに対するステーキング報酬の14%を手数料として受け取れます。32ETHでソロステーキングをするのに比べて、8ETHのミニプールを4つ運用した方がETHの報酬が約40%高くなるということです。

ETHの報酬に加えて、RPLの報酬も得られます。ミニプール運用者はサーバーを常にオンラインに保つ責任があり、その責任を怠った場合の保険として、rETHの保持者から預かるETHの10%以上に相当するRPLをデポジットする必要があります。8ETHのミニプールであれば2.4ETH相当以上のRPL、16ETHのミニプールであれあば1.6ETH相当以上のRPLが必要です。そして、その担保として提供したRPLに対して年利5%の報酬が得られます。

つまり、ステーキングの代行をしている見返りとして委託者からETH報酬の一部を受け取り、サーバーを正常に運用している見返りとしてプロトコルからRPLを受け取るということです。

おまけにifの話にはなりますが、ロケットプールのバリデーター数が飽和するまで、RPL価格の上昇による利益も期待できます。ロケットプールのバリデーター数は現時点で増加傾向にあり、担保として必要なRPLの需要も上昇しています。RPLの供給量は年間約5%で増加していますが、需要の伸び率がそれよりも高ければ、需給の関係からRPLの価値が上昇することが予測されます。先行者の売り圧によってRPL価格が抑制されることもあるかもしれませんが、長期的にみるとRPL価格は少なくとも円建てではプラスになると予想しています(個人の見解です)。

※ RPLの対ETH価格が下落して10%相当を下回った場合はRPLの報酬は貰えませんが、ETHの報酬は維持されます。28日おきに報酬計算用のスナップショットが取られるため、下回りそうであればスナップショットまでにRPLを追加でデポジットすればRPLの報酬が貰えます。RPLの報酬がいらないのであれば下回ったまま放置してもよいです。新たなミニプールを作成する時は10%相当が必ず必要になります。

ステーキングをするメリット・デメリット

ロケットプールでステーキングをするメリットとデメリットはソロステーキングと大体同じなのでこちらを参照してください。追加のメリットは、より高いETHの報酬です。

ソロステーキングよりETHの報酬が高い一方で、多少のリスクが追加されていることは理解してください。考えられる主なリスクはコントラクトリスクとRPLの暴落リスクです。

コントラクトの致命的なバグによって資産が戻ってこなくなる可能性はゼロではありません。自分はイーサリアムの上海アップグレード後(2023年4月12日)にステーキング資金の出金が可能になるまでロケットプールは触りませんでした。入金から出金までのフルサイクルを回してくれる人柱がいないと安心できなかったからです。ロケットプールのコントラクトはしっかりと監査がされていて、今のところ数年間安定稼働している実績があります。

また、RPL価格は需給のバランスから値上がりが期待できると言いましたが、暴落して元値を割る可能性はあります。ロケットプールのシェアの衰退、トークンエコノミーの改悪、開発者の不祥事など、原因は複数考えられます。

ロケットプールのリスクはご自身でしっかりと調査し、納得してからステーキング運用を開始してください。何があっても自己責任でお願いします。ロケットプールの運用方法は公式からも出ています。英語ですがよくまとめられているのでダブルチェック用のリソースとして活用してください。また、テスト環境で一連の流れをテストしてから本番機の設定をすることを推奨します。

サーバーによるステーキングが複雑すぎると感じたら、シンプルにLSDトークンを保有するのも全然ありだと思います。stETHは最大手である安心感がありますし、rETHはリベースされない(報酬を分配せずに対ETHの価値が上がる)仕組みのため売らない限り税金が発生しないメリットがあります。

自宅サーバーでのステーキングに必要なもの

ロケットプールのステーキングで必要なものはソロステーキングと大体同じなので、こちらを参照してください。異なる部分はデポジットに必要な資金です。8ETH+最低2.4ETH相当のRPL、または16ETH+最低1.6ETH相当のRPLが必要となります。RPLは国内取引所では取り扱っていませんが、バイナンスやBybitから購入できます。手持ちのETHをRPLに変換する場合は、1inchなどのアグリゲーターを利用すると便利です。

ソロステーキングのサーバーを既に持っている場合は、同じサーバーでロケットプールも運用できます。ソロステーキングとロケットプールを同じサーバーで運用することを「Hybrid Mode」と呼んでいます。

この記事ではより多くのユーザーに当てはまるように、Hybrid Modeではなくロケットプール専用機の設定方法を解説しています。Hybrid Modeで構築したい場合は、公式ガイドを参照してください。作業相違点は、一応ここにメモしてます。

ステーキング開始までの大まかな流れ

Ubuntu ServerというOSに、ロケットプールのSmartnode Stackをインストールすれば必要なソフトの準備は大体終わります。Smartnodeを起動すれば勝手に実行クライアント、コンセンサスクライアント、MEV-Boostをインストールしてくれます。後はウォレットの設定をするくらいです。

  • 実行クライアント:イーサリアムの全トランザクション(取引)データです。常に最新のトランザクションが同期されるようにします。
  • ビーコンノード:バリデーターに仕事を割り振るために使われる出勤簿のようなものです。コンセンサス(合意形成)クライアントの機能の1つです。常に最新の情報が同期されるようにします。
  • バリデーター:トランザクションの記録係です。コンセンサス(合意形成)クライアントの機能の1つです。バリデーターがオンラインであることによって報酬をもらえますが、前提としてビーコンノードと実行クライアントが最新の状態に同期されている必要があります。
  • (任意) MEV-Boost:ブロック生成時にブロック内に含めるトランザクションを外部に選定してもらう機能です。使用するとブロック生成報酬が上がります。

具体的な作業の流れは以下の通りです。ダウンロードの待ち時間を含めると2日くらいかかります。実際の作業時間は5時間もないと思います。慣れるとトータル2時間くらいの作業量です。

  1. Ubuntu Serverのインストール
    自宅サーバーとなるパソコンにUbuntu ServerというOSをインストールします。
  2. Ubuntu Serverの細かい初期設定
    Ubuntu Serverのインターネットの設定など、細かい初期設定をします。
  3. SmartNode Stackのインストール
    ロケットプールが提供しているSmartNode Stackをインストールし、実行クライアント、コンセンサスクライアント、スマートノードのDockerコンテナを設定します。
  4. SmartNode Stackの起動
    SmartNode Stackの設定が完了したら実際に起動します。実行クライアントとコンセンサスクライアントが最新の状態に同期するまで1日以上かかります。
  5. ノードウォレットの設定
    Smartnode Stackのウォレットを作成します。このウォレットはステーキング開始時にミニプールにETHを送金したり、設定変更をチェーン上に記録する際の取引手数料を払う時に使用されます。
  6. ミニプールの作成
    ETHとRPLをデポジットしてミニプールを作成します。
  7. バリデーター確認用アプリのインストール
    バリデーターがステーキングを開始したら、スマホアプリで自分のバリデーターの状態を確認できるようになります。異常があれば通知してくれるのでアプリはインストールしておきましょう。

ステーキングの開始手順

1. Ubuntu Serverのインストール

Ubuntu Serverのインストール方法はこの記事を参照してください。

2. Ubuntu Serverの細かい初期設定

セキュリティの設定をして遠隔操作できるようにします。
下記を上から順番に設定してください。

  • セキュリティアップデートの自動更新:Ubuntuのセキュリティアップデートが自動で適応されるようにします。
  • DNSサーバーの変更:グーグルのパブリックDNSを使用します。
  • ユーザーの作成ethereumというユーザーを作成し、sudoというグループに入れてください。今後サーバーで作業をするときはこのユーザーを使用してください。
  • ファイアーウォールの設定:サーバーにアクセス可能なポートを制限します。他のパソコンから遠隔操作する時に使用する任意のポート番号の他に、30303(実行クライアント)と9001(Docker版 Lighthouse)を許可してください。
  • 正確な時刻の設定:ミリ秒単位で時刻が合っている必要があるためNTPをインストールします。
  • IPアドレスの固定:SSHで他のパソコンからサーバーを遠隔操作する場合は、IPアドレスを固定しないと面倒くさいことになります。
  • ルーターのポート開放:ルーターによっては、ポート転送の設定をする必要があります。ファイアーウォールの設定で変更した任意のポートと30303(実行クライアント)と9001(Docker版 Lighthouse)が固定したIPアドレスに転送されるように設定してください。
  • SSHの設定:他のパソコンからサーバーを遠隔操作できるようにします。
  • (Wifiで運用する場合)Wifiを使えるようにします。
  • (32GB以上のメモリを使用している場合)十分なメモリ容量があるため、スワップ処理は無効化した方が処理スピードが上がります。
  • (AMDのCPUを使用している場合)処理落ちが発生する場合はこの記事の設定をしてください。

詳細設定の完了後は念のためサーバーを再起動してください。

sudo reboot

3. SmartNode Stackのインストール

ロケットプールが提供しているSmartNode Stackをダウンロードし、実行クライアントとコンセンサスクライアントの設定をします。

  1. 新しいディレクトリを作ります。
mkdir -p ~/bin
  1. ロケットプールのCLIをダウンロードします。
wget https://github.com/rocket-pool/smartnode-install/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool
  1. CLIを実行できるように権限を変更します。
chmod +x ~/bin/rocketpool
  1. 権限を変更出来たらサーバーにログインし直し(例:SSHだったら一度接続を切って再接続する)、rocketpoolのコマンドが使用できることを確認してください。
rocketpool --version
  1. ロケットプールのSmartNode Stackをインストールします。
rocketpool service install
  1. インストールが完了したらサーバーにログインし直し(例:SSHだったら一度接続を切って再接続する)、SmartNode Stackのウィザードを起動します。
rocketpool service config

後はウィザードで以下の設定をしていきます。ウィザードでは方向キー←↑→↓またはtabで照準を移動し、Enterで選択します。1つ前の画面に戻るときはEscを押します。何も保存せずに中断する場合はCtrl+Cです。

  1. Networkを聞かれたらEthereum Mainnetを選択します。
  2. Client Modeを聞かれたらLocally Managedを選択します。
  3. Execution Client(実行クライアント)を聞かれたらどれでもいいので選択してください。
    オススメは分散性の意味合いから一番メジャーなGeth以外です。自分はソロステーキングでGethNethermindを使っています。
  4. Consesus Client(コンセンサスクライアント)を聞かれたらどれでもいいので選んでください。
    オススメは分散性の意味合いから一番メジャーなPrysm以外です。自分はソロステーキングでLighthouseを使っています。この記事ではソロステーキングの記事と同様にLighthouseを選んだ場合を説明します。
  5. Graffitiを聞かれたら何でもいいので16文字までの文字列を入力してください。Graffitiとは、ブロック生成をした際に記念に文字列をブロックに刻む機能です。自分は特に入力したい文字列がないので空欄にしています。xy座標と色コードを入力することでGraffiti Wallにピクセル単位で絵を描くことも可能です。
  6. Checkpoint SyncのURLを聞かれたら、この一覧のEndpointをどれでもいいので入力してください。Checkpoint Syncをするとコンセンサスクライアントの同期が数分で終わります。
  7. Metricsを有効化する場合はYesを選択してください。CPU・メモリ使用量や蓄積された報酬の確認などができます。報酬関係はスマホアプリからも確認できるのでNoでも問題ないです。
  8. MEV-Boost Modeを聞かれたらLocally Managedを選択します。
  9. 上記の設定が完了したらSave and Exitを選択します。設定を確認したい場合はReview All Settingsからできます。
  10. ウィザードでの設定完了後はSmartnode Stackを起動するか聞かれるので、次の手順にすぐ進むのであればyを入力してください。

4. SmartNode Stackの起動

SmartNode Stackの設定が完了したら実際に起動します。初めて起動する際はDockerイメージが作成されるため少し時間がかかります。

  1. SmartNode Stackを起動します。他のクライアントを以前使ってたか警告メッセージが出ますが、該当しないのでyを入力します。
rocketpool service start
  1. 起動したら各クライアントのバージョンが正しいか確認します。
rocketpool service version
  1. Dockerのコンテナが起動されているかも確認します。
docker ps
  1. 実行クライアントとコンセンサスクライアントの同期状態を確認します。
    同期が完了するまで1日以上かかります。同期が完了するまで待ちましょう。
rocketpool node sync

※ サーバーで稼働している実行クライアントとコンセンサスクライアントに不具合が発生した時のために、予備のサーバーを用意しておくことも可能です。設定方法は公式ドキュメントを参照してください。

5. ノードウォレットの設定

Smartnode Stackのウォレットを作成します。このウォレットは、ステーキング開始時にミニプールにETHを送金する際や、チェーン上に設定変更を記録するための取引手数料を支払う際に使用されます。

  1. ウォレットの作成を開始します。パスワードの設定を求められるので入力します。
rocketpool wallet init
  1. 24単語のシードフレーズは紙にメモし、安全な場所に保管してください!くれぐれもインターネットに接続されている環境に保存しないでください!!シードフレーズを盗まれたらウォレット内のETHを失ったと思ってください!!!
    確認のためシードフレーズの再入力を求められます。メモに間違いがないように、画面のシードフレーズではなくメモを見ながら入力してください。
    シードフレーズの入力が完了したら、作成されたウォレットのアドレスが表示されます。これは後で使うのでパソコンのメモ帳などにコピーしておきましょう。
  1. ウォレットの作成が完了したら、前のステップでコピーしたアドレスに0.5ETH程度を送金します。
    ノードの初期設定で取引手数料を払うのに使用します。
    アドレスを再度表示したい場合は以下のコマンドです。
    ※ デポジットする8ETHまたは16ETHもこのタイミングで送金してもいいですが、デポジットする直前に送金した方が安全だと思います。
rocketpool wallet status
  1. 送金が完了したら、自分のノードをネットワークに登録します。
    タイムゾーンを自動的に判断してもらうためにyを入力します。
    統計を取ってるだけなので、申告したくなければEtc/UTCなどを入力してもいいです。
rocketpool node register
  1. 標準ではノードのウォレットが出金先アドレスになっていますが、任意のアドレスに変更することができます。ノードのウォレットはサーバー上に秘密鍵が保存されているため、ハードウェアウォレット等に出金先アドレスを変更することを強く推奨します。まずは出金先アドレスを仮登録する処理をノードでします。
    ※ 仮登録と本登録の2段階で設定をしたくない場合は、--forceフラグを末尾に付けると1発で設定が完了します。出金アドレスが正しいか目視でしっかりと確認しましょう。
rocketpool node set-withdrawal-address <your cold wallet address or ENS name>
  1. 出金先アドレスの仮登録が終わったら、ロケットプールのサイトから本登録をします。
    (Goerliの場合はちら
    まずは、出金先となるハードウェアウォレットをサイトに接続します。その後は自分のロケットプールのウォレットアドレスを画面に入力し、「Find」をクリックします。自分のノードが見つかれば「Confirm Pending」をクリックし、署名します。
    rocketpool node statusでサーバーからも出金先アドレスが正常に変更されたことを確認できます。
    ※ 本登録が完了するまでは出金先アドレスは変更されません。
    ※ ソロステーキングであれば出金先アドレスは一度設定したら変更できませんが、ロケットプールでは変更後の出金先アドレスから署名すれば再度変更できます。
  1. 自分のノードがブロックを生成すればブロック生成報酬を貰うことができますが、ブロック生成をするタイミングは運次第です。Smoothing poolに参加することで、ブロック生成に成功した場合やしなかった場合でも一定の報酬(ユーザーの送金手数料)を受け取ることができるようになります。統計的には、Smoothing poolに参加した方が報酬の期待値が高くなります。
rocketpool node join-smoothing-pool

6. ミニプールの作成

下準備ができたので、いよいよETHとRPLをデポジットしてミニプールを作成します。

  1. デポジットするETHとRPLをノードウォレットに送金します。
    ノードウォレットのアドレスを表示するコマンドは以下です。
rocketpool wallet status
  1. ETHをデポジットする前に、他人から預かるETHの10%以上にあたるRPLをデポジットします。8ETHのミニプールであれば2.4ETH相当以上のRPL、16ETHのミニプールであれば1.6ETH相当以上のRPLです。
rocketpool node stake-rpl
  1. RPLのデポジットが完了したら、何個のミニプールを作成できるか一応確認します。
    “The node has enough RPL staked to make X more 8-ETH minipools (or X more 16-ETH minipools)”と記載されています。
rocketpool node status
  1. ETHをデポジットしてミニプールを作成します。
    作成時に8ETHのミニプールか16ETHのミニプールか聞かれます。
    デポジットには比較的多めの取引手数料が消費されますが経費として計上しましょう。
rocketpool node deposit

※ ETHをデポジットしてミニプールを作成したら新たなrETHがマーケットに放出されます。ミニプールの供給が間に合っていないとrETHに多少のプレミア価格がつくことがあり、rETHが放出される際にアビトラの機会が発生します。公式ドキュメントにも記載されていますが、rocketarbを使えば、デポジットとアビトラを同時にやってくれるので少し得をします。どのくらい得するかはここで確認できます。

  1. ミニプールのステータスは自動でInitialized → Prelaunch → Stakingという順番で変わっていきます。現在の状況はrocketpool minipool statusで確認できます。
    • Initialized = ミニプールは作成したが他人からETHをまだ補充できていない状態です。ミニプールが供給過多でrETHの保持者が足りていない場合は順番待ちが発生します。
    • Prelaunch = 他人からのETHを確保できた状態です。ステーキングコントラクトにETHが送金されるためには、Oracle DAOによる認証が必要なので12時間ほど待ちます。
      ※ PrelaunchからStakingに移行するための処理は、ノードが自動でトランザクションを実行します。ガス代の限度額をrocketpool service config > Smartnode and TX Fees > Automatic TX Gas Thresholdで低めに設定することで、ネットワークのガス代がこの限度額まで下がるまでprelaunch状態で待機してくれます。限度額の標準値は150gweiに設定されていて、ネットワークのガス代はRapidが参照されています。14日経っても限度額まで下がらなかった場合は14日後のガス代で勝手に実行されるため、低くしすぎない方がいいです。処理のログはrocketpool service logs nodeで確認できます。
    • Staking = ETHがステーキングコントラクトに送金された状態ですが、ステーキングが実際に開始されるまで最短で16時間は待つ必要があります。新たにアクティブになれるバリデーターの数は限られているため、大量のデポジットがあった場合は順番待ちが発生します。beaconcha.inで自分のバリデーターを検索すれば、いつアクティブになるか確認できます。

7. バリデーター確認用アプリのインストール

バリデーターがステーキングを開始したら、スマホアプリで自分のバリデーターの状態を確認できるようになります。異常があれば通知してくれるのでアプリはインストールしておきましょう。

  1. iPhoneの場合はApp Storeから、Androidの場合はPlay StoreからBeaconchain Dashboardというアプリをダウンロードします。
  1. アプリを開き、Validatorsタブから自身のバリデーターを検索し、お気に入りに登録する。自分のバリデーターの番号または公開鍵はrocketpool minipool statusで確認できます。
  1. PreferencesのNotification Preferencesでバリデーターに不具合があった時の通知を受け取るようにする。あmた、Rocketpool Smartnodeのアップデート通知も受け取るようにする。

※1日に数回「Attestation Missed」という通知が来ることがありますが心配しないでください。ブロック生成をするバリデーターのせいで自分ではどうしようもないことが多いです。Attestation Effectivenessが98%以上であれば正常です。常に95%以下の場合はサーバーの設定に原因がありそうです。

動作確認するときのコマンド

ロケットプールの各種確認用コマンド

# ノードウォレットのアドレスと残高、出金先アドレス
rocketpool node status

# ノードウォレットからETHまたはRPLを送金する
rocketpool node send <amount> <token> <to>
例: rocketpool node send 0.1 eth 0x000....000

# 運用しているミニプールの一覧、バリデーター番号と公開鍵
rocketpool minipool status

# ロケットプールで実行されている処理のログ
rocketpool service logs

# バージョン情報
rocketpool service version

# 設定を変更する
rocketpool service config

# 今まで受け取った報酬の確認
rocketpool node rewards

CPU/メモリ使用率とSSDの使用率を確認する。

# CPU/メモリ使用率
htop

# SSD使用率
df -h

時刻の同期(NTP)を確認する。

chronyc sources

データ通信料を確認する。

# RXが受信量、TXが送信量(サーバー起動してからの累計)
ifconfig

# サーバー起動日数
uptime

※ Rocketpoolが提供しているGranafaダッシュボードの設定方法は公式ドキュメントを参照してください。

アップデート方法

クライアントの新リリースがあれば、Smartnode Stackをアップデートする必要があります。
スマホアプリでアップデートの通知を受け取るようにしておきましょう。

  1. Ubuntu Serverのアップデートをする。
sudo apt update && sudo apt upgrade -y
  1. 念の為サーバーを再起動します。ロケットプールは再起動後に自動で起動されます。
sudo reboot
  1. ロケットプールを停止し、アップデートをする。
rocketpool service stop

wget https://github.com/rocket-pool/smartnode-install/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool

rocketpool service install -d
  1. アップデート内容を確認し、ロケットプールを起動します。
rocketpool service config

rocketpool service start

ミニプールを増やす方法

ミニプールを増やす場合は、事前に10%相当以上のRPLがデポジットされている必要がります。
まずは何個ミニプールを作成できるか確認します。
“RPL Stake and Minipools”の箇所に”The node has enough RPL staked to make X more 8-ETH minipools (or X more 16-ETH minipools)”と記載されています。

rocketpool node status

RPLのデポジットが十分であれば、最初のミニプールを作成した時のように以下のコマンドを実行して新たなミニプールを作成します。

rocketpool node deposit

16ETHのミニプールを8ETHのミニプールに変換する方法

バリデーターを停止することなく、16ETHのミニプールを8ETHのミニプール2つに変換することが可能です。(逆方向は一度ステーキングをやめる必要があります)

RPLの担保が十分に確保されていることが必須条件となります。
16ETHのミニプールの最低担保が1.6ETH相当のRPL、8ETHのミニプール2つの最低担保が2.4ETH x 2 = 4.8ETH相当のRPLのため、追加で3.2ETH相当のRPLが必要になります。

最初から大量のRPLを購入するのが億劫な人は、16ETHのミニプールから初め、頃合いを見て8ETHのミニプールに変換すれば良いかと思います。RPLの価格が暴落しない限り、16ETHのミニプールを運用するより8ETHのミニプールを2つ運用した方が利回りが高いです。

  1. 変換の審査を開始します。12時間ほどかかります。
    審査状況はrocketpool service logs nodeで確認可能です。
rocketpool minipool begin-bond-reduction
  1. 審査完了後は自動的に16ETHのミニプールが8ETHのミニプールに変換され、8ETHのクレジットを貰います。
# ミニプールの確認
rocketpool minipool status

# クレジットの確認
rocketpool node status

※ 使わなかったガス代はrocketpool minipool refundで返してもらえます。放置していてもそのうち勝手に他の報酬と一緒に返ってきます。

  1. 8ETHのクレジットで8ETHのミニプールを作成します。
    クレジットはミニプールの作成にのみ充てることができ、出金はできません。
rocketpool node deposit

別のサーバーに移す方法

ノードウォレットにどのミニプールが関連付けられているかはオンチェーンに記録されています。
従って、新しいサーバーでウォレットのシードフレーズを入力するだけサーバーの移動は完了します。
2つのサーバーで同じミニプールを同時に実行するとペナルティーが課せられるため、新しいサーバーでシードフレーズを入力する前に古いサーバーを初期化するのを忘れないようにしてください!

  1. 新しいサーバーにSmartnode Stackをインストールし、実行クライアントとコンセンサスクライアントの同期が完了している状態にします。
  1. 古いサーバーを初期化する前に、念の為シードフレーズが正しいか古いサーバーで確認します。
rocketpool wallet test-recovery -a <ノードウォレットのアドレス>
  1. 確認が終わったら、Ubunsu Serverをインストールし直すなどして古いサーバーを初期化します。
  1. 新しいサーバーでウォレットを復元します。案内に従ってシードフレーズを入力してください。
    関連するミニプール(及びバリデーター)も勝手に復元されます。
rocketpool wallet recover
  1. バリデーターのDockerを再起動します。
docker restart rocketpool_validator

報酬の受け取り方法

RPLとFeeの受け取り

RPLとFee(ユーザーの送金手数料)は28日間のインターバルごとに分配されます。
以下のコマンドを実行すると分配された報酬を出金先アドレスに送金できます。
報酬を貯めておいて、後でまとめて送金した方が手数料を節約できます。

rocketpool node claim-rewards

※ RPLはデポジットに再投資するか聞かれますが、出金せずに全額再投資したほうがお得です。

※ RPLの対ETH価格が下落し、自身が担保として提出しているETHの10%相当を下回った場合はRPLの報酬は蓄積されません。rocketpool node statusでcollateral ratioが10%以上になっていることを確認してください。10%を下回ってしまっていたらrocketpool node stake-rplでRPLを追加で入金しましょう。

Skimmed Rewardの受け取り

Fee(ユーザーの送金手数料)以外のETHの報酬は1週間に1回ほど分配されます。
こちらに関しては閾値(デフォルトでは1ETH)が設定されていて、貯まった金額がこの閾値を超えたら自動的に出金先アドレスに送られるようになっています。閾値まで貯まるのを待たずに出金する場合は以下のコマンドです。

rocketpool minipool distribute-balance

※ 閾値はrocketpool service configSmartnode and TX Fees > Auto-Distribute Thresholdから変更可能です。

ステーキングをやめる手順

ミニプール単位でステーキングをやめることができます。

  1. ミニプールのExit処理をすることでバリーデーターがExistされます。
    本当にExitしますか?と聞かれるのでI agreeと入力します。
rocketpool minipool exit
  1. バリデーターのExitが完了し、Withdrawされるまで1日以上かかるので待ちます。
    Exitしようとしているバリデーターが多ければ順番待ちになります。
    自分のバリデーターの Withdrawalスケジュールはbeaconcha.inから確認できます。
  1. Withdrawal後はミニプールを”Finalized”ステータスにするとETHが出金先アドレスに送られます。
rocketpool minipool close
  1. 全てのミニプールをExitしたらRPLのデポジット返還が可能になります。
rocketpool node withdraw-rpl
  1. 必要に応じてノードウォレットのETH残高とRPL残高を任意のアドレスに送信します。
rocketpool node send <amount> <token> <to>
例: rocketpool node send 0.1 eth 0x000...000