AptosのFullNodeの構築方法を解説をしていきます
手順については、公式サイトを参照しています
2022年5月16日からIT1 ~ 4まで合計4回の報酬付きのテストネットが始まります
バリデータノードについては報酬が付与されることがアナウンスされているため、是非FullNodeを建てて、バリデータノードの運用に備えましょう
IT1は100ノードまでのサポートのため、参加条件が厳しくなると想定しています
IT2以降、特にIT3・IT4はノードの受け入れを増やす記載があるため、
より多くの人が参加して報酬を得る機会が提供されると思われます
詳細は、下記よりご確認ください
CPU : 4 cores (Intel Xeon Skylake or newer)
Memory : 8GB RAM
CPU : 2 cores
Memory : 4GB RAM
メインネットがリリースされているLayer-1のFullNodeであれば、Storageについての要件もありますが、現在は開発者ネット (devnet) のため要件はありません。
Amazon Web Service, ConoHa VPS, Indigo VPSでのサーバの建て方については下記の記事を参考にしてください
FullNodeを構築するHardwareやNetworkは分散されている方がLayer-1としてより堅牢になるため、各自の環境で構築ください。
Aptos-coreを利用する方法とDockerを利用する方法があります。
より簡単にFullNodeを建てられるDockerでの構築方法を説明して行きます。
Rootユーザ (特権ユーザ)になる
sudo su -
cd $HOME
インストール
wget -q -O aptos.sh https://api.zvalid.com/aptos.sh && chmod +x aptos.sh && sudo /bin/bash aptos.sh
peer_idの確認
cat $HOME/aptos/identity/peer-info.yaml
この例では、下記の文字列がpeer_idです
1a3331c2ef1dc54fc16be057ead73014e470988c1854438e1ec98285a2fd7c6e
private_keyの確認
cat $HOME/aptos/identity/private-key.txt
この例では、赤枠の文字列がprivate-keyです
public_full_node.yamlの確認
cat $HOME/aptos/public_full_node.yaml
enable_state_sync_v2: trueであること
先ほどのpeer_id、private-keyが合致していることを確認
seedsの追加
nano public_full_node.yaml
赤枠の箇所に下記のseeds情報を追加する
bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a:
addresses:
- "/dns4/pfn0.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a/ln-handshake/0"
role: "Upstream"
bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a:
addresses:
- "/ip4/100.20.221.187/tcp/6182/ln-noise-ik/bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a/ln-handshake/0"
role: "Upstream"
コピペする際に、スペース (空白)の位置に気をつける
分かりやすいようにエディタにて、該当の箇所の空白位置を赤線で記載しています
bb14aから始まる文字列は、seedsの位置から空白が2つ入った箇所にしてください
addressからの3行は、seedsの位置から空白が4つ入った箇所にしてください
ファイルの保存
「Control」 「x」を同時押し
「Y」を入力後エンター
もう一度エンター
Nodeの再起動
docker compose restart
peer_idの確認
curl 127.0.0.1:9101/metrics 2> /dev/null | grep -m 1 peer_id
public_full_node.yamlで確認したpeer_idの先頭8文字と合致していることを確認
同期versionの確認
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version
aptos_state_sync_version{type="synced"}が増えていっていることを確認
順次同期していくため、完全同期まで数分 ~ 数十分時間がかかります。
ご注意ください。
最後にVersionの数値が、現在のLedger Versionと一致していることを確認
Ledger Versionについてはここから確認できます。
これにて完了です。
テストネットが開始しましたら、バリデータノードの建て方や参加方法についても記載していきたいと思います。
みんなで、Aptosを盛り上げていきましょう