SuiのFullNodeの構築方法を記載します
今後dockerもサポートするとのことですが、現時点ではSource CodeからのBuild方法を記載します
また、Suiにおいても報酬付きのテストネットが開かれる予定ですが、参加には開発者ネットでのFullNode構築が必須なので、ぜひノードを建ててみてください
簡単にNodeを建てることができるinstaller作成しました
動作させるCodeはこちらです
[注意事項]
Node構築に際して、簡易なinstallerはSui以外にもよく見られます
多くの場合には、悪意のない人が善意で作成しているものです
ただし、まれに悪意のあるコードを仕込んでいる人もいます
できれば元のコードと公式のDocumentを比較して、あからさまに異なる箇所がないか確認する習慣をつけてください
公式のGithubに詳細手順があるため、そちらもぜひ確認してください
サーバの準備が必要になります
こちらの記事を参考にして、サーバを用意してください
サーバスペックや、セキュリティルールについては今回の要件にあわせてください
スペック
セキュリティルール
サーバの建て方
ノードを建てるためにGithubアカウントが必要になります。
Githubにアクセスして、作成してください。
厳密に言いますと、Githubアカウントがなくてもノードを建てることが可能です。
しかし、Suiの公式手順ではGithubアカウントからのFork手順が推奨されています。FullNodeの構築は、テストネット参加のための条件にもなっているため、
Githubアカウントでの確認を実施される可能性もあるため作成することを推奨します
Mystenlabs/suiレポジトリにアクセス
右上のForkをクリック
ForkしたRepositoryのURLをコピー
インストールの際に使用するため、メモしておいてください
2-4-1. サーバにログインする
2-4-2. Rootユーザ (特権ユーザ)になる
sudo su -
cd $HOME
2-4-3. installerをダウンロード & 実行
wget -O install-sui-fullnode.sh https://raw.githubusercontent.com/qyeah98/sui-installer/main/install-sui-fullnode.sh
chmod +x install-sui-fullnode.sh
./install-sui-fullnode.sh
GithubのURL入力を求められるため、 先ほどCopyしたものを貼り付けてEnterを押してください
INPUT your github url:
# 例
INPUT your github url: https://github.com/qyeah98/sui.git
Sui-JSON-RPC-APIを公開するか確認されます
外部からのAPIを許可したい場合には、y
を入力してください
許可したくない場合には、n
を入力してください
Sui Metrics Portを公開するか確認されます
外部からのMetricsを取得したい場合には、y
を入力してください
許可したくない場合には、n
を入力してください
インストールが始まります
インストールが完了するまで、10分程度かかりますのでお待ちください
下記のような結果が出れば完了です
sui node started !
と表示されていればインストール正常に完了です
これにて作業終了です
サーバに接続しているターミナルはそのまま閉じてOKです
Nodeのログの表示 ※ Ctrl c同時押しで停止します
journalctl -u suid -f -o cat
Nodeの停止方法
sudo systemctl stop suid
Nodeの再起動方法
sudo systemctl restart suid
Nodeの削除
sudo systemctl stop
suid sudo systemctl disable
suid rm -rf ~/sui /var/sui/
rm /etc/systemd/suid.service
Nodeのアップデート
# Stop sui-node
sudo systemctl stop suid
# Remove old db
rm -rf /var/sui/db /var/sui/genesis.blob
# Fetch the source from the latest release
git checkout -B devnet --track upstream/devnet
# Reset your branch:
git fetch upstream
# Download latest genesis.blob
wget -O /var/sui/genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
# Restart your Sui fullnode
cargo build --release -p sui-node
mv ~/sui/target/release/sui-node /usr/local/bin/
sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable suid
sudo systemctl restart suid
以上となります。
ぜひSuiのFullNodeを建てて、テストネットに参加していきましょう!