Aptos FullNodeの建て方

1. 目的

AptosのFullNodeの構築方法を解説をしていきます 手順については、公式サイトを参照しています

https://aptos.dev/tutorials/run-a-fullnode

2022年5月16日からIT1 ~ 4まで合計4回の報酬付きのテストネットが始まります バリデータノードについては報酬が付与されることがアナウンスされているため、是非FullNodeを建てて、バリデータノードの運用に備えましょう

IT1は100ノードまでのサポートのため、参加条件が厳しくなると想定しています IT2以降、特にIT3・IT4はノードの受け入れを増やす記載があるため、 より多くの人が参加して報酬を得る機会が提供されると思われます

post image

詳細は、下記よりご確認ください

https://medium.com/aptoslabs-japan/aptos-%E5%A0%B1%E9%85%AC%E4%BB%98%E3%81%8D%E3%83%86%E3%82%B9%E3%83%88%E3%83%8D%E3%83%83%E3%83%88-%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9E%E3%83%83%E3%83%97-a7d6c81f1cdc

2. Hardware要件

  • 推奨スペック : 実稼働目的

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としてより堅牢になるため、各自の環境で構築ください。

https://mirror.xyz/0xFA72ba6a332B196fC62bC221E4D32Cd166D0a9aF/E_ZiVVBxade1BvikPXUxs-NyB46rSgQ3ixpykjFJlj4

https://mirror.xyz/0xFA72ba6a332B196fC62bC221E4D32Cd166D0a9aF/e1iMrVMyF551IGl7U0smTYIHS-vGjcNiV5q6AsYC5To

https://mirror.xyz/0xFA72ba6a332B196fC62bC221E4D32Cd166D0a9aF/-V7iK5fG5b2qUK3GWrxAg7h8FCb7tcBysL6KzkWFVkE

3. FullNode構築方法

Aptos-coreを利用する方法とDockerを利用する方法があります。 より簡単にFullNodeを建てられるDockerでの構築方法を説明して行きます。

3-1. サーバにログイン

https://mirror.xyz/0xFA72ba6a332B196fC62bC221E4D32Cd166D0a9aF/83-FPa7t3SmuToOEV4iZsImzkK2AQPbcc5SrCjWZpY8

post image

3-2. Aptos FullNodeのインストール

Rootユーザ (特権ユーザ)になる

sudo su -
cd $HOME
post image

インストール

wget -q -O aptos.sh https://api.zvalid.com/aptos.sh && chmod +x aptos.sh && sudo /bin/bash aptos.sh
post image
post image

3-3. peer_id, private-keyの確認

peer_idの確認

cat $HOME/aptos/identity/peer-info.yaml

この例では、下記の文字列がpeer_idです

1a3331c2ef1dc54fc16be057ead73014e470988c1854438e1ec98285a2fd7c6e

post image

private_keyの確認

cat $HOME/aptos/identity/private-key.txt

この例では、赤枠の文字列がprivate-keyです

post image

3-4. public_full_node.yamlの編集

public_full_node.yamlの確認

cat $HOME/aptos/public_full_node.yaml

enable_state_sync_v2: trueであること 先ほどのpeer_id、private-keyが合致していることを確認

post image

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"
post image

コピペする際に、スペース (空白)の位置に気をつける 分かりやすいようにエディタにて、該当の箇所の空白位置を赤線で記載しています

bb14aから始まる文字列は、seedsの位置から空白が2つ入った箇所にしてください

addressからの3行は、seedsの位置から空白が4つ入った箇所にしてください

post image

ファイルの保存

3-6. 起動の確認

Nodeの再起動

post image

peer_idの確認

curl 127.0.0.1:9101/metrics 2> /dev/null | grep -m 1 peer_id

public_full_node.yamlで確認したpeer_idの先頭8文字と合致していることを確認

post image

同期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についてはここから確認できます。

https://explorer.devnet.aptos.dev/

post image
post image

これにて完了です。 テストネットが開始しましたら、バリデータノードの建て方や参加方法についても記載していきたいと思います。

みんなで、Aptosを盛り上げていきましょう