Introduction
안녕하세요. 이번 포스팅 주제는 'Frame 테스트넷 노드 설치 및 실행 방법'입니다. Frame은 NFT 및 크리에이터를 위한 네트워크로 아비트럼 Nitro로 구현된 레이어 2입니다.
현재 Frame 테스트넷은 정상적으로 운영 중이며 https://www.frame.xyz/bridge 에서 브릿지를 통해 세폴리아 (L1)에서 Frame (L2)로 asset을 입금하거나 반대로 출금할 수 있습니다. 한 번씩 사용해보시면 좋을 것 같네요.
이번에 테스트넷 밸리데이터로 참여한 사용자에 대하여 인센티브가 있다는 소식을 듣고 후다닥 디스코드부터 가입하고 밸리데이터 가이드를 따라서 노드를 설치해봤습니다.
- 디스코드: https://discord.com/invite/framexyz
- 트위터: https://twitter.com/frame_xyz
- 밸리데이터 가이드: https://www.docs.frame.xyz/validator
- 블록 익스플로러: https://explorer.testnet.frame.xyz/
기본 서버 세팅은 https://lowsec.tistory.com/45을 참고해주시면 감사하겠습니다.
테스트넷 노드 구축에 필요한 Ubuntu 서버 임대/세팅
Intro AIT-3 테스트넷 밸리데이터 노드 등록이 앞으로 약 2일 남았습니다. 두 번째 페이즈에 비해 노드를 돌리기 위해 Aptos 재단에서 요구하는 하드웨어 요구사항이 굉장히 상향되어 '이번엔 참여
lowsec.tistory.com
가이드는 기본 서버 세팅이 되었다고 가정하고 진행하겠습니다. OS는 Ubuntu 22.04 LTS를 사용합니다.
Prerequisites
노드 설치 전 필요한 준비 사항입니다.
- 최소 하드웨어 요구사항: RAM 8GB, SSD 20GB 이상
- docker 설치
Docker 설치
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" 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 docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
디렉토리 및 testnet.json 설정
mkdir frame-validator
cd frame-validator
mkdir data
git clone https://github.com/frame-network/node-config.git
cd node-config
# testnet.json 파일을 수정
vi testnet.json
testnet.json 파일을 열면 <SEPOLIA_RPC_HERE>이 보일텐데 이 부분에 Sepolia RPC endpoint 주소를 추가해야 합니다.
Sepolia RPC endpoint을 확인하기 위해 infura나 alchemy와 같은 노드 프로바이더 서비스를 이용할 수 있습니다. 본 포스팅에서는 infura로 Sepolia RPC endpoint를 확인해보겠습니다.
https://www.infura.io/ 에 접속하여 신규 가입을 합니다. (계정이 있는 분은 바로 로그인합니다.) 대시보드에서 API Keys > Create New API Key를 클릭하여 원하는 이름을 지정하고 Key를 생성합니다.
생성된 Key를 클릭하면 아래과 비슷한 화면을 확인할 수 있습니다. Ethereum에서 네트워크를 Mainnet > Sepolia로 변경하고 오른쪽에 만들어진 주소를 복사하여 (맨 오른쪽 아이콘 클릭) <SEPOLIA_RPC_HERE>에 추가합니다.
현재 실행 중인 디렉토리를 확인합니다.
# 결과 예시: /home/ubuntu/frame-validator
pwd
밸리데이터 노드 실행
Frame 테스트넷 밸리데이터 노드를 실행합니다. <ABSOLUTE_PATH>에 이전 섹션의 pwd 명령어 실행 결과를 그대로 복사하여 붙여넣기 합니다. 실행 시 사용한 docker 옵션을 간단히 설명드리면 아래와 같습니다.
- -d: 백그라운드 프로세스 (daemon process)로 실행. 터미널을 종료해도 노드가 종료되지 않습니다.
- --rm: 노드를 종료하면 연결된 리소스도 함께 삭제됩니다.
- -it: 노드 내부로 진입 가능
- -v: 볼륨 연결. 호스트의 데이터와 게스트(노드)의 데이터를 연결합니다.
docker run -d \
--name frame \
--rm \
-it \
-v <ABSOLUTE_PATH>/node-data:/home/user/.frame \
-v <ABSOLUTE_PATH>/node-config/testnet.json:/home/user/testnet.json public.ecr.aws/o8e2k8j7/nitro-node:frame \
--conf.file testnet.json
노드 로그 확인
노드가 정상적으로 실행되고 있는지 아래와 같이 노드를 확인합니다.
docker logs -f frame