# Sui Devnet Fullnodeの建て方 **Published by:** [MalonPie](https://paragraph.com/@malonpie/) **Published on:** 2022-12-30 **URL:** https://paragraph.com/@malonpie/sui-devnet-fullnode ## Content 1. 目的SuiのDockerでのFullNodeの構築方法を記載します Source Codeでの構築方法もありますが、時間を要する & Build時にCPU / RAMリソースを消費するため、Node OperationとしてはDockerでの構築方法を推奨します また、Suiにおいても報酬付きのテストネット (Wave1) が開かれるましたが、その際にもFullnodeの登録が必須でした Wave2は2023年上旬予定ですが、参加には開発者ネットでのFullNode構築が必須になると想定されますので、ぜひノードを建ててみてください2. Server要件Serverの準備が必要になります AWS, Google Cloud, AzureなどのCloud Providerや OVH, Vultr, HetznerなどのDedicated Server ProviderなどでServerを用意してください Serverスペックや、ファイアーウォールルールについては今回の要件にあわせてください スペックCPU : 10 coresMemory : 32 GB RAMStorage: 1 TB NVMeOS : Ubuntu version 18.04 (Bionic Beaver)より最新版ファイアーウォールルール 下記のPortを0.0.0.0/0, ::/0向けに開ける8080 : HTTP9000 : Sui JSON RPC9184 : Metrics3. Fullnodeの建て方本手順はSui公式の手順を参照して作成しています https://docs.sui.io/devnet/build/fullnode3-1. 初心者向け3-1-1. Rootユーザ (特権ユーザ)になるsudo su - cd $HOME 3-1-2. installerをダウンロードwget -O install-sui-fullnode.sh https://raw.githubusercontent.com/malonpie/sui-node/main/install-sui-fullnode.sh 3-1-3. installerを実行chmod +x install-sui-fullnode.sh ./install-sui-fullnode.sh 3-1-4. Fullnode起動完了 無事Installerが動作すれば、自動でFullnodeが起動されます 下記のような画面になればOKです Sui Node Versionは、SuiのDiscordにある #devnet-updatesチャネルに記載のある最新Versionと同じ数字であることを確認ください3-1-5. 動作の確認 SuiのCommunityメンバー (公式メンバーではない有志)が作成したNode checkerサイトがあります こちらに、NodeのIPを入れて確認してみてください (Installerの一番最後に表示されているものが、NodeのIPです) 同期するのに時間を要するため、Sync Statusが100%になるまで時間がかかります そのため、Node構築後すぐの確認観点としては、Average Sync Speedが50tps以上であれば問題ありません https://www.scale3labs.com/check/sui3-2. Engineer向け初心者向けのInstallerでやっている手順をStep by Stepで実施していきます 初心者向け手順を実施済みの人はSkipしてください 基本的にはCopy and Pasteで建てれるため、そこまで難しくないと思います 3-2-1. Rootユーザ (特権ユーザ)になるsudo su - cd $HOME 3-2-2. 依存関係のUpdatesudo apt update -y sudo apt upgrade -y sudo apt install jq -y 3-2-3. DockerのInstallsudo apt-get install ca-certificates curl gnupg lsb-release wget -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io -y 3-2-4. Docker composeのInstallsudo mkdir -p ~/.docker/cli-plugins/ sudo curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose sudo chmod +x ~/.docker/cli-plugins/docker-compose sudo chown $USER /var/run/docker.sock 3-2-5. フォルダ作成mkdir -p $HOME/devnet cd $HOME/devnet 3-2-6. 必要なファイルのDownloaddocker-compose.yaml 起動するsui-nodeのdockerファイルfullnode.yaml fullnodeの設定ファイル、portの変更などはここで指定するgenesis.blob Validator nodeに接続するために必要になる起動ファイルwget https://raw.githubusercontent.com/MystenLabs/sui/main/docker/fullnode/docker-compose.yaml wget -O fullnode.yaml https://raw.githubusercontent.com/MystenLabs/sui/main/crates/sui-config/data/fullnode-template.yaml wget -O genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob 3-2-7. Fullnodeの起動docker compose up -d 3-2-8. Nodeの確認# Logの確認 docker compose logs -f # Sui-node versionの確認 curl --location --request POST 127.0.0.1:9000 \ --header 'Content-Type: application/json' \ --data-raw '{ "jsonrpc":"2.0", "method":"rpc.discover","id":1}' 2>/dev/null | jq -r .result.info # SyncしたVersionの確認 curl --location --request POST 127.0.0.1:9000 \ --header 'Content-Type: application/json' \ --data-raw '{ "jsonrpc":"2.0", "method":"sui_getTotalTransactionNumber","id":1}' 2>/dev/null | jq .result 4. NodeのUpgrade方法SuiはDevnetのため、逐次Updateがあります UpdateしないとFullnodeとしては、Txsの同期やRPCとしてのEndpointとして機能しないため、Versionをあげる必要があります 4-1. Rootユーザ (特権ユーザ)になるsudo su - cd $HOME 4-2. Nodeの停止docker compose down -v 4-3. 古いgenesisファイルの削除rm genesis.blob 4-4. 新しいgenesisファイルのDownloadwget -O genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob 4-5. 新しいDocker imageのDownload4-6. Fullnodeの起動docker compose up -d 以上となります。 ぜひSuiのFullNodeを建てて、テストネットに参加していきましょう! また、引き続きSuiでの開発者向けの記事も書いていきます!! ## Publication Information - [MalonPie](https://paragraph.com/@malonpie/): Publication homepage - [All Posts](https://paragraph.com/@malonpie/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@malonpie): Subscribe to updates