Sui FullNodeの建て方

1. 目的

SuiのFullNodeの構築方法を記載します
今後dockerもサポートするとのことですが、現時点ではSource CodeからのBuild方法を記載します

また、Suiにおいても報酬付きのテストネットが開かれる予定ですが、参加には開発者ネットでのFullNode構築が必須なので、ぜひノードを建ててみてください

1-1. 初心者の方

簡単にNodeを建てることができるinstaller作成しました
動作させるCodeはこちらです

[注意事項]

Node構築に際して、簡易なinstallerはSui以外にもよく見られます
多くの場合には、悪意のない人が善意で作成しているものです
ただし、まれに悪意のあるコードを仕込んでいる人もいます
できれば元のコードと公式のDocumentを比較して、あからさまに異なる箇所がないか確認する習慣をつけてください

1-2. エンジニアの方

公式のGithubに詳細手順があるため、そちらもぜひ確認してください

2. 手順

2-1. サーバの準備

サーバの準備が必要になります
こちらの記事を参考にして、サーバを用意してください

サーバスペックや、セキュリティルールについては今回の要件にあわせてください

スペック

  • CPU : 2 cores
  • Memory : 8GiB RAM
  • Storage: 50GB
  • OS : Ubuntu version 18.04 (Bionic Beaver)より最新版

セキュリティルール

  • 8080 : HTTP
  • 9000 : Sui-JSON-RPC (必要あれば)
  • 9184 : Metircs (必要あれば)

サーバの建て方

2-2. Githubアカウントの準備

ノードを建てるためにGithubアカウントが必要になります。
Githubにアクセスして、作成してください。

厳密に言いますと、Githubアカウントがなくてもノードを建てることが可能です。
しかし、Suiの公式手順ではGithubアカウントからのFork手順が推奨されています。

FullNodeの構築は、テストネット参加のための条件にもなっているため、
Githubアカウントでの確認を実施される可能性もあるため作成することを推奨します

2-3. Mystenlabs/suiレポジトリのFork

Mystenlabs/suiレポジトリにアクセス

右上のForkをクリック

ForkしたRepositoryのURLをコピー
インストールの際に使用するため、メモしておいてください

2-4. Install方法

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です

2-5. Tips

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を建てて、テストネットに参加していきましょう!

Subscribe to qyeah
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.