Blockchain/Testnet

Aptos AIT2 Validator 노드 등록 가이드

lowsec 2022. 7. 1. 23:49
https://superb-mulberry-ce1.notion.site/Step-By-Step-Testnet-Ph2-bd9d91ea9418467ab4a9b8ac805c95bc
Aptos 커뮤니티의 Alan 님이 작성해주신 가이드를 다수 참고하였습니다. (그는 대고수👍)

Intro

  • AIT2 노드 등록 마감: 7/7
  • AIT2 검증 노드 발표: 7/11 (200 nodes)
  • AIT2 참여 시 토큰 에어드랍 확정
  • 다른 플랫폼에 비해 AIT2 참여 경쟁률 높고 절차가 복잡한 편. (하지만 노력은 배신하지 않아요.)

Validator 노드 설치 환경

필자의 Validator 노드 설치 환경입니다.

O/S: Ubuntu 20.04.4 LTS
CPU: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz (2 core)
RAM: 8GB

사전 준비

💡 Alan님의 설치 가이드와 완전히 동일합니다.

docker & docker compose 설치

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties
-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> $(lsb_release -cs) stable"
apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
systemctl enable docker && service docker start

curl -L "https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Unzip

apt install unzip

Validator 노드 설치

설치 경로 세팅

export WORKSPACE=testnet
mkdir ~/$WORKSPACE
cd ~/$WORKSPACE

aptos CLI 설치

💡 설치 후에는 터미널에서 aptos를 입력하여 버전이 0.2.0인지 반드시 확인!
wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-0.2.0/aptos-cli-0.2.0-Ubuntu-x86_64.zip
unzip aptos-cli-0.2.0-Ubuntu-x86_64.zip -d /bin
chmod +x /bin/aptos

docker-compose 설정 파일 다운로드

wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose.yaml
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/validator.yaml

키 생성 및 validator 설정

💡 username은 Aptos Discord ID와 비슷하게 지정하는 것이 좋습니다. (예시. 제 discord ID는 bhlee#7909) —username bhlee7909
aptos genesis generate-keys --output-dir ~/$WORKSPACE

aptos genesis set-validator-configuration --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE --username discord_ID --validator-host XXX.XXX.XXX.XXX:6180

layout.yaml 생성

아래 내용을 복사하여 layout.yaml에 붙여넣고 users 항목에는 validator 설정에 넣은 discord_ID를 넣습니다.

---
root_key: "F22409A93D1CD12D2FC92B5F8EB84CDCD24C348E32B3E7A720F3D2E288E63394"
users:
  - "discord_ID"
chain_id: 40
min_stake: 0
max_stake: 100000
min_lockup_duration_secs: 0
max_lockup_duration_secs: 2592000
epoch_duration_secs: 86400
initial_lockup_timestamp: 1656615600
min_price_per_gas_unit: 1
allow_new_validators: true

framework 설치

wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.2.0/framework.zip
unzip framework.zip

genesis.blob 생성

aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE

디렉토리 확인

ls -al

total 140
drwxr-xr-x  3 root root  4096  7월  1 22:25 .
drwx------ 13 root root  4096  7월  1 22:25 ..
-rw-r--r--  1 root root   433  7월  1 22:03 bhlee7909.yaml
-rw-r--r--  1 root root  1223  7월  1 22:01 docker-compose.yaml
drwxr-xr-x  2 root root  4096  6월 30 13:56 framework
-rw-r--r--  1 root root 35756  6월 30 14:00 framework.zip
-rw-r--r--  1 root root 58221  7월  1 22:04 genesis.blob
-rw-r--r--  1 root root   327  7월  1 22:03 layout.yaml
-rw-------  1 root root   468  7월  1 22:01 private-keys.yaml
-rw-------  1 root root   176  7월  1 22:01 validator-full-node-identity.yaml
-rw-------  1 root root   358  7월  1 22:01 validator-identity.yaml
-rw-r--r--  1 root root  1103  7월  1 22:01 validator.yaml
-rw-r--r--  1 root root    66  7월  1 22:04 waypoint.txt

validator 노드 실행

docker-compose up -d

연결 상태 확인

동기화 상태 확인

여러 번 실행 했을 때 “Synced”의 값이 계속 증가하면 정상입니다.

curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type

chain id 확인

chain id가 40인지 확인합니다.

docker compose logs -f --tail 1000 | grep "chain_id"

대시보드

https://node.aptos.zvalid.com/ 에서 자신의 public IP, API port = 80 으로 입력 후 connect를 누르면 노드 상태를 확인할 수 있습니다.

AIT2 등록

등록 페이지

등록 페이지(Aptos Community Platform)에서 회원 가입을 하고 KYC까지 완료합니다.

 

등록 방법

AIT2 노드 등록은 총 4단계로 나눠집니다.

Step 3. Node Registration

  1. 디스코드 연결
  2. 설문조사
    • AIT2에 왜 참여하는지 등 단순하지만 필요한 내용입니다. 작성하고 넘어갑니다.
  3. 노드 등록
    • Public Keys
      • /root/testnet($WORKSPACE)의 &username.yaml의 아래 필드 값을 참고하셔서 적으시면 됩니다. (필자는 bhlee7909.yaml) 앞/뒤에 붙는 큰따옴표는 삭제합니다.
        • consensus_public_key
        • account_public_key
        • validator_network_public_key
    • Validator Node
      • Address: 자신의 public IP
      • Validator Port: 6180
      • Metrics Port: 9101
      • API Port: 80
  4. 신원 검증
    • 3단계에서 우측 상단 Validate Node 버튼을 누르면 자동으로 이뤄집니다.
    • validator 노드가 동작 중이고 충분히 동기화를 했다면 바로 등록이 완료될 것입니다. (필자는 1시간 정도 동기화 후 여러 번 시도하여 4단계 통과했습니다.)

등록 완료 화면

고생하셨습니다. 4단계까지 등록이 완료되면 회원 가입에 적은 이메일 주소로 완료 공지 메일을 받을 수 있습니다. 이제 7/11 발표일까지 대기대기!