見出し画像

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

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

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

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


はじめに

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

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

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

Elixir Protocolってなあに

Elixir Protocolはオーダーブック型のDEXの流動性を強化する為のプロトコルです。これ単体でどうこうというものではなく、オーダーブック型のDEXにビルトインして使用されるインフラのようなものです。

Elixir Protocolは、高スループットの DPoS コンセンサス・ネットワークであり、誰でもオー ダーブックに直接流動性を供給することができる。このプロトコルは、供給された流動性をアルゴリズムによってオーダーブックに展開し、オーダーブックに相当するx*y=kカーブを利用して流動性を構築し、ビッド/アスクスプレッドを引き締める。
Elixirは完全にコンポーザブルであるため、オーダーブックDEXはElixirをコアインフラにネイティブに統合し、リテール流動性のロックを解除することができます。このプロトコルは重要な分散型インフラとして機能し、取引所やプロトコルが簡単に流動性をブートストラップすることを可能にします。
Elixirは、主要なDEXのコアインフラストラクチャに20以上のネイティブインテグレーションを持っています。

出典:公式Docs(Deepl翻訳を使用)

最近 $7.5M の大きめの資金調達を行ったり、

Arbitrum上に展開されているオーダーブックDEXのVertex Protocolに採用されたりと、精力的に活動しています。

実は今年の前半(2月くらい?)にNodeをオペレートしはじめていたのですが、いつの間にかNodeのバージョンがv2になっており、v1のまま放置していた僕のNodeは半年くらい無駄ログを吐き散らかしていました。
今回のVertexとの協業ツイート(エクシズ)を見て、久々のNodeをメンテしてみた、というのが今回noteを書くに至った経緯です。

準備するもの

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

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

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

VPSに関しては、以下のスペックがあれば問題ないようです。
そんなにハードル高くないので安心してください!

  • 4GB RAM

  • 30GB SSD

  • 100MB LAN

VPSのベンダーはどこでもいいと思いますが、個人的にはTime4VPSをオススメします。理由は75%オフなどのアホのセールを頻繁に行う為、そこそこのスペックのVPSを安く入手することができるからです。
Time4VPS
https://www.time4vps.com/?affid=7697
これからの時期は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
名前です。Elixir Nodeとかわかりやすい名前にしときましょう。わかればなんでもOK
・Address
サーバーのIPアドレスを入れてください。Time4VPSのユーザー画面で見れます。
・Username
root
・Password
サーバーのパスワードを入れてください。Time4VPSのユーザー画面で初期値が見れます。
当たり前ですが、本当はパスワードも変えた方がいいんですがDEGENなので無視します。
これで準備完了です。
登録されたHOSTをダブルクリックすると、接続が開始されます。

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

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

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

UbuntuへのDockerのインストール方法については、下記にまとまっています。

って言ってもどうせ英語だからよくわからないって言われるので、アホでもわかるインストールガイドを下記にまとめます。
その①
以下をそのまんまコピペしてEnterおす

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

すると下記のようなことが行われます。
途中で(y/N)で答え求められるかもしれませんが、基本的には全部yでOK

「Root権限なのにsudo必要ないですよね?w」って思った方は心が本当に穢れてると思います。公式Docsのコピペなので堅いこと言わないでね。

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

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

するとDockerがインストールされます。

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

docker ps

これを実行してCLI上に下記のような文字列が表示されていたら、無事Dockerのインストールに成功したということです。おめでとうございます!

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

ここまでで事前の環境構築は完了です!

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

ようやく本題です。(ここまでで4700文字)
ここからは公式Docsも見ながらいきたいと思います。
公式Docs

STEP1: 新規ウォレットアドレスを作成する

まずはMetamaskでもRabbyでもなんでもいいので、新規アドレスを取得しましょう。
これには理由があって、次の行程で秘密鍵の入力を求められるからです。
絶対に普段使いウォレットの秘密鍵を入れないようにしましょう。
絶対だぞ。

STEP2:DockerFileをDLして編集する

ここからDockerFileというファイルをダウンロードしてください。
そしてダウンロードしたファイルをテキストエディタで開いてください。

次に 
ENV ADDRESSにさっき取得したウォレットアドレス
ENV PRIVATE_KEYにさっき取得したアドレスの秘密鍵
を入力して保存してください。

STEP3: サーバーにDockerfileを転送しよう

次にサーバー上にさっきのDockerfileをSFTPで送信します。
Termiusの左サイドバーの「SFTP」をクリックして、今回セットアップしたサーバーを選んで接続してください。

そうするとroot直下のディレクトリが最初に表示されると思います。
ここで右クリックしてNew Folderを選び、「elixir」というフォルダを作成します。
作成したらelixirフォルダを開いて、そこにさっきのDockerfileをドラッグ&ドロップしてください。
これで転送が完了です。

STEP4: Dockerfileをビルドする

次にDockerfileをビルドします。言葉の意味はわからなくていいです。
まず、SFTP画面からさっきのCLIに戻ってください。
この緑の点がついてるウィンドウをクリックすると戻れます。

次に先ほど作ったelixirのディレクトリに移動します。
脳死で以下をコピペしてEnter押してください。

cd elixir

cdというのがディレクトリ移動のときに使うコマンドです。よく使うのでこの際覚えておきましょう。
移動が完了したら以下をコピペしてEnter。

docker pull elixirprotocol/validator:testnet-2
docker build . -f Dockerfile -t elixir-validator

すると色々ダウンロードやらビルディングやら始まります。待ちましょう。
諸々落ち着いたらNodeのインストールは完了です。
最後に以下をコピペしてEnterを押すと、Nodeが実行されます。

docker run -it --name ev elixir-validator

ちゃんと成功していたら、以下のような画面になります。

これで一番の難所は超えました、お疲れ様でした。
もうTermiusは閉じてしまって大丈夫です。

ウォレットをバリデータとして登録しよう

最後にウォレットのバリデータ登録作業をしなければなりません。
まずは以下にアクセスして、前項で取得したウォレットを使ってGoerli Testnetで接続してください。

Goerli ETHがない場合は、適当なFaucetサイトから入手する必要があります。以下のページを参考にしてください。

接続したら以下の順番で進めてください。
事前にElixirのDiscordに入っておく必要があります。

  1. ELXRトークンをClaimする

  2. ELXRトークンをStakeする(100枚以上)

  3. enrollする

  4. ツイッターとコネクト、Discord IDを入力を済ませRoleをClaimする

以上でバリデーター登録が完了です。
ちなみに上記のDashboardサイトでは自分のバリデータとしてのアクティビティなども確認することができます。(登録してからしばらく経たないと出てこないっぽい)

おわりに

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

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


コミュニティ紹介


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

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

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

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


いいなと思ったら応援しよう!