見出し画像

エアドロ期待!ShardeumのNodeを建ててみよう!

この記事は仮想通貨コミュニティ、Crypto流星街によって運営されています。
こんにちは、Crypto流星街の0x_Riceです。

こちらでは文字数制限の関係でツイッターには書きづらい内容や、比較的アーカイブする価値のありそうな情報を不定期で投稿できたらいいなと思っています!

ぜひフォローしていただけると嬉しいです!


はじめに

皆さんエアドロハンティング活動頑張ってますか?
今日はエアドロお触り活動の中でもハードルが高い(と思っている人が多い)Nodeの構築についてお話しします。

Node構築は通常のお触り活動に比べると大分手間はかかりますが、心理的ハードルの高さ故に参加人数が少ない為穴場です。
Aptosなどに代表されるデカエアドロもNodeオペレーターは優遇されてますし、ワンチャン目指して一緒に頑張ってみましょう。

今日のテーマは「Shardeum」です!

※免責事項:
Linuxの知識など全くない文系営業職による解説になりますので、有識者の方は優しくしてください。前提知識が全くなくてもこの通りやればなんとか頑張れる、くらいのレベル感を想定しています。

Shardeumってなあに

ShardeumはVitalikが提唱したブロックチェーンのトリレンマをDynamic State Shardingによって解決できないかというアプローチで作られたL1ネットワークです。
動的シャードはShardeum上のバリデーターノードを自由に移動でき、より多くのデータを動的シャードとして収容することでパフォーマンスの最適化、高レベルのスケーラビリティを実現するそうです。
ShardeumはEVMタイプのL1なので、Metamaskなどのウォレットにネットワークを追加することで触れます。

1ブロックチェーンのトリレンマ:ブロックチェーンにおける重要な、スケーラビリティ、分散化、セキュリティは最大2つまでしか同時に実現できないこと。
2シャーディング:DBの負荷分散方法の一種で水平分割と呼ばれる技術。同じテーブルを複数のDBに用意することでレコード量を減らし負荷分散する技術です。

もっと詳細が知りたい!という方は、以前Crypto流星街で行ったAMAのレポートをご参照ください。

準備するもの

  • Linux(Ubuntuなど)が動くVPS環境

  • ターミナルソフト(個人的なオススメはTermiusです)

  • 「コマンドライン、よくわからん」という心理的ハードルを超える勇気

VPSに関しては、以下のスペックがあれば問題ないようです。

  • 250 GB SSD storage

  • Quad core CPU less than 10 years old if self hosting

  • Dual core CPU works if hosted with newer Xeons / EPYC

  • 16 GB of ram, 4+ GB of virtual memory recommended

  • Hosting: 8 GB RAM + 8 GB Virtual Memory

VPSのベンダーはどこでもいいと思いますが、個人的にはTime4VPSをオススメします。理由は75%オフなどのアホのセールを頻繁に行う為、そこそこのスペックのVPSを安く入手することができるからです。

Time4VPS

これからの時期はBLACK FRIDAYなどもありますので、値引き率が高いタイミングを狙って契約してみましょう!

補足:VPSって何?なんでVPSがいいの?

VPSとは「Virtual Private Server」の略です。
どこかのクラウド上で動いている仮想化されたサーバーを購入して、そこにリモートアクセスしてNodeを動かす、みたいなイメージです。

環境さえ整えてしまえば自宅のPCでもNodeは動きますが、なぜVPSがいいのか。それは、この手のNodeは基本一生起動しっぱなしである必要があるからです。
自宅で一生起動しっぱなしにすると当然電気代もかかりますし、何より普段使いのPCの裏でNodeを動かすと結構CPUやメモリを占有されてしまいます。
そこで、クラウド上で動いている仮想化サーバーを利用するわけですね。
ただ、当然VPSを契約すると年間の維持費が発生するので、上記デメリットと維持費を天秤にかけた上で判断するのが良いと思います。

まずは環境を構築しよう

ということで早速始めていきましょう。

STEP1 VPSをセットアップしよう

VPSを契約したら、まずはOSをインストールする必要があります。
Time4VPSの場合、ユーザーページから購入したサーバーの初期設定をすることができるので、そこからやりましょう。
OSはとりあえずUbuntuの最新Verを入れておけば問題ないです。

ちなみに本来であればOSをインストールしたあと、サーバー内にユーザーアカウントを作成して云々、SSHの鍵認証を設定して云々、とかセキュリティの観点からやった方がいいことが色々あるんですが俺たちはDEGENなので全部無視します!
これは正しいLinux講座ではなく、あくまでエアドロ獲得のための刑務作業なのでroot権限(最強の権限のこと。当然ハックされたら終わる)で押し切りましょう!
力こそパワーや!

STEP2 ターミナルソフトからVPSに接続しよう

今回はTermiusというオススメターミナルソフトで説明します。
このソフトをオススメする理由はただ一つ、「SSH/SFTP接続がクソ簡単」これにつきます。
SSH/SFTPの詳しい説明はGoogleに聞いてください。

ざっくりいうと、
SSH:
ネットワークを介して別のコンピューターに接続して操作するプロトコル

SFTP:
ネットワークを介して別のコンピューターに接続してファイルの送受信を行うプロトコル
的な理解でとりあえずOKです。

話がそれました。
まずはTermiusを起動してください。そして左上のNEW HOSTをクリック。
すると、右サイドバーに色々と入力できるようになります。
今回入力するのは赤丸のところだけでOKです。

・Label
名前です。Shardeum Nodeとかわかりやすい名前にしときましょう。わかればなんでもOK

・Address
サーバーのIPアドレスを入れてください。Time4VPSのユーザー画面で見れます。

・Username
root

・Password
サーバーのパスワードを入れてください。Time4VPSのユーザー画面で初期値が見れます。
当たり前ですが、本当はパスワードも変えた方がいいんですがDEGENなので無視します。

これで準備完了です。
登録されたHOSTをダブルクリックすると、接続が開始されます。

この画面が出たら成功です!おめでとうございます!

STEP3: Dockerをインストールしよう

次はDockerのインストールです。
Dockerというのはざっくりいうとプログラムを実行環境を丸ごと1個のイメージファイルにまとめて、それを実行してくれるソフト的な感じです。
よくわからないと思うのでChatGPT君に小学3年生でもわかるようにまとめてもらいました。

アホでもわかるインストールガイドを下記にまとめます。

その①
以下をそのまんまコピペしてEnterおす

sudo apt-get install curl

次に以下をコピペしてEnter

sudo apt update

これでcurl というライブラリがインストールされ、かつアップデートが適応されました。

その②
以下をそのまんまコピペしてEnterおす

sudo apt install docker.io

次に

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

次にDocker composeのユーザー権限を設定します。(以下2024.1.26 追記)

sudo chmod +x /usr/local/bin/docker-compose

これでDocker ioおよびDocker-composeがインストールされます。
念の為以下のコマンドを打って、Dockerがインストールされているかどうかを確認しておきましょう。

docker-compose --version

無事にVersionが設定されれば、ここまでで事前の環境構築は完了です!

Shardeum Nodeをセットアップしよう

次は実際にShardeumのNode本体をインストールしてみましょう。
Shardeumはインストール用のDockerイメージを展開するだけでなんとかなるお手軽方式です。
以下をそのまんまコピペして実行してください。

curl -O https://gitlab.com/shardeum/validator/dashboard/-/raw/main/installer.sh && chmod +x installer.sh && ./installer.sh

※環境によってはうまくいかない場合があります。その場合は文頭にsudo をつけてみてください。

CLI上でひたすら色々聞かれますが、以下要点だけ。

  • 基本的にy/Nクエスチョンは全てyで返答する。

  • GUIのパスワードはダッシュボードの確認に必要なのでちゃんと覚えておく。

  • VPSの場合port設定は全部デフォルトで大丈夫。(ローカルマシンの場合は自宅のNW環境に応じてportを設定してください。わからない人はVPSでやってください)

  • 割と時間かかります。時間あるときにやりましょう。

諸々終わると、取り急ぎNodeのインストール自体は完了です。

Dashboard GUIの展開とCLIの基本操作

Shardeumではサーバーの状況の可視化や$SHMトークンのステーキングなどにWeb GUI上のDashboardを使用します。
デフォルトではOFFになっていますので、ONにしましょう。(後ほど説明)

また、ShardeumのCLIでは色々なことができるようになっています。上述のDashboard関係でも触れることになるので簡単に操作を説明します。

Shardeum CLIのコマンドプリフィックス

Shardeum CLIでは、以下のプリフィックスを利用することができます。

operator-cli

上記プリフィックスの後ろにコマンドを入れることで、機能が利用可能です。
細かいコマンド群はヘルプを見ることで確認可能です。
ヘルプは以下のコマンドで確認可能です。

operator-cli help

Shardeum CLIへの入り方

ShardeumのCLIはLinuxのRootディレクトリからoperator-cliコマンドを叩いても機能しません。
以下の順番でコマンドを入力し、CLIに入ってください。

STEP1 ディレクトリを移動する

cd .shardeum

これでまず shardeum ディレクトリに移動します。

STEP2 シェルスクリプトを実行する。

./shell.sh

シェルスクリプトというのはまあ、ざっくりWindowsでいうところの exeみたいなものだと思ってください。

上記のステップを踏むことでShardeum CLIが起動し、operator-cliコマンドが利用可能になります。

Shardeum GUI&Nodeを起動しよう

operator-cli gui start

これでGUIが起動します。

operator-cli start

これでNode本体が起動します。
以上でターミナルソフト上での作業は終了です。

Dashboard GUIから$SHMをStakeしよう

Nodeの準備が終わったら、Dashboard GUIから$SHMをStakeしましょう。
このStakingプロセスが完了すると、バリデーターとしてValidationプロセスに参加することができるようになります。

STEP1 Dashboardにアクセス
まずは以下のアドレスにアクセス

https://IPアドレス:8080/

IPアドレス の部分には自分のサーバーのIPアドレスを入れてください。

STEP2 SHMのFaucetを受け取る

上記URLにまとまっています。
DiscordのBotを使ってFaucetを受け取るか、Faucetサイトからもらいましょう。
最低11枚は必要です。(Stake最低数10枚+Gas)

STEP3 MetamaskにShardeum Sphinx Testnetチェーンを追加する

ここにまとまっています。追加しましょう。

STEP4 DashboardにMetamaskを接続し、Stakeする

Maintenanceタブ>Add-Stake>必要数量を入力>Stake

この時StakeのTxが失敗しまくる可能性があるので、その場合はGweiをゴリゴリに盛り盛りにしましょう。(400とか)
また、一回でも失敗するとうまく動かなくなるクソ仕様です。
失敗してしまった場合はMetamaskのAdvanced設定から「Clear Activity Tab Data」を行い、履歴を消去してから再度実行してください。

ここがまじで鬼門で、RPCの調子が悪いとTx捨てられまくります。
頑張りましょう・・・

ここまで完了すると、あなたもShardeumのValidatorです。おめでとうございます!!
ただ、ShardeumのValidationを実際にこなせるかどうかは運みたいなもので、ずっと起動していても全然Validationされないことも良くあります。
根気強く放置しておきましょう。

おわりに

いかがでしたでしょうか、無事にうまくいきましたか?
大分駆け足で手順を解説したので、よくわからない部分があったかもしれません。。。
わかりづらい部分はCrypto流星街に来ていただいて、僕をメンションしてくださればわかる範囲でお手伝いいたします。

あと、基本的にLinux関係は何かエラーが出たり困ったことがあったらすぐChatGPTに聞いてみるといいです。
エラーコードをそのままコピペしたら修正するためのコマンドを教えてくれたりするので、覚えておくと今後役に立つと思います。
とにもかくにもお疲れ様でした!!エアドロほんま頼むぞ!!!!

コミュニティ紹介


Crypto流星街(Crypto Meteor City)は、仮想通貨コミュニティおよび投資グループです。
Crypto流星街は常に新しいコミュニティメンバーを募集しています。
仮想通貨(暗号資産)やNFTについて質問や困ったことがあればお気軽に初心者部屋へお越しください。

Crypto流星街 初心者部屋🔰オープンチャット

Crypto流星街 ディスコードサーバー

Crypto流星街 コミュニティ紹介note


この記事が気に入ったらサポートをしてみませんか?