Blockchain

Frame 테스트넷 노드 설치 및 실행 가이드

lowsec 2023. 11. 3. 23:32

Introduction

안녕하세요. 이번 포스팅 주제는 'Frame 테스트넷 노드 설치 및 실행 방법'입니다. Frame은 NFT 및 크리에이터를 위한 네트워크로 아비트럼 Nitro로 구현된 레이어 2입니다.   

 

 

현재 Frame 테스트넷은 정상적으로 운영 중이며 https://www.frame.xyz/bridge 에서 브릿지를 통해 세폴리아 (L1)에서 Frame (L2)로 asset을 입금하거나 반대로 출금할 수 있습니다. 한 번씩 사용해보시면 좋을 것 같네요.

 

이번에 테스트넷 밸리데이터로 참여한 사용자에 대하여 인센티브가 있다는 소식을 듣고 후다닥 디스코드부터 가입하고 밸리데이터 가이드를 따라서 노드를 설치해봤습니다.

 

 

기본 서버 세팅은 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