Blockchain

Starknet Full node 돌려보기

lowsec 2023. 4. 22. 01:07

안녕하세요. 이번 포스팅은 Starknet Full node 돌려보기를 주제로 작성해보겠습니다.

 

Introduction

 

사진. Starknet 생태계

 

Starknet은 2018년부터 꾸준히 투자를 유치하여 현재는 $282.5M, 한화로 약 3800억 규모의 투자금을 모았습니다. 투자진으로 판테라, 코베, 패러다임, 세콰이어, 폴리체인, 컨센서스 등 1티어 VC들이 다수 포진되어 있습니다. 엔젤 투자자로는 이더리움의 수장 비탈릭도 보이네요.

 

사진. Starknet 투자자 리스트

 

 

Starknet에서는 거버넌스 토큰인 $STRK의 런칭을 공지했고 토크노믹스에서 총 100억개 중 9%를 Community Rebate로 정했기 때문에 에어드랍을 노리는 일반 투자자들의 관심도도 굉장히 높습니다.

사진. $STRK 토크노믹스

 

커뮤니티 에어드랍 기준이 명확하게 나오지 않았기 때문에 Starknet 생태계를 구성하는 디앱에서 트랜잭션을 남기거나 포럼에 참여하여 뱃지를 획득하는 등 다양한 활동을 진행하고 있습니다.

 

Starknet의 Full node를 돌리는 방법이 상대적으로 간편하고 하드웨어 요구사항도 낮은 편이라 각자 선택에 따라 해보시면 좋을 것 같습니다.

 

Prerequisites

Full node 설치 및 실행은 Ubuntu를 기반으로 진행하겠습니다. 서버 세팅 방법은 https://lowsec.tistory.com/45 을 참고해주시면 감사하겠습니다.

 

 

테스트넷 노드 구축에 필요한 Ubuntu 서버 임대/세팅

Intro AIT-3 테스트넷 밸리데이터 노드 등록이 앞으로 약 2일 남았습니다. 두 번째 페이즈에 비해 노드를 돌리기 위해 Aptos 재단에서 요구하는 하드웨어 요구사항이 굉장히 상향되어 '이번엔 참여

lowsec.tistory.com

 

서버에 원격으로 접속하여 터미널에서 명령어를 입력하기 위해 Putty도 같이 설치해줍니다. 설치 방법은 https://iboxcomein.com/putty-install/ 을 참고하세요.

 

Starknet Full node로는 Equilbrium에서 개발한 pathfinder를 사용합니다. pathfinder는 Rust로 개발되었고 노드는 docker로 실행합니다. pathfinder로 Starknet Full node를 실행하기 위해 필요한 패키지 설치를 진행합니다.

 

# install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# install python ^3.9
sudo apt install python3 python3-venv python3-dev

# update & upgrade packages
sudo apt update && sudo apt upgrade -y

# install dependencies
sudo apt install pkg-config curl git build-essential libssl-dev

# install screen
sudo apt install screen

 

docker는 아래와 같이 터미널에 명령어를 입력하여 설치합니다.

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io

 

하드웨어 요구사항은 아래와 같습니다.

  • CPU: 2 cores
  • RAM: 1 GB
  • Storage: 100 GB 이상

 

Ethereum mainnet RPC

 

Full node 실행 시 Ethereum 메인넷의 서버 RPC 주소가 필요합니다. 여러 RPC 프로바이더 업체가 있으나 저는 Alchemy를 사용하겠습니다. 처음 Alchemy를 사용하시는 분들은 Alchemy 메인에서 "Get started for free"를 선택하여 신규 가입을 진행합니다.

  • Chain: 이더리움
  • 요금제: Free
  • 구독 정보: skip 가능

 

사진. Alchemy 메인

 

가입 완료 후 Alchemy 대시보드에서 Apps > Create App을 선택합니다. App 이름과 설명을 입력하고 App을 생성하면 대시보드 하단에 방금 생성한 App을 확인할 수 있습니다.

 

사진. Create App

   

App > View Key에서 HTTPS 항목에 나와있는 주소를 복사하여 따로 보관합니다.

사진. 이더리움 RPC 엔드포인트 확인

 

Starknet Full node 설치 및 실행

 

아래와 같이 pathfinder 소스 코드를 다운로드합니다.

 

git clone --branch v0.5.2 https://github.com/eqlabs/pathfinder.git

 

이전 과정에서 설치한 screen을 통해 node라는 새 터미널을 만듭니다. (크롬에서 새 창을 띄우는 개념으로 보시면 됩니다.)

 

screen -S node

 

docker로 Full node를 실행합니다. 

 

# Ensure the directory has been created before invoking docker
mkdir -p $HOME/pathfinder
# Start the pathfinder container instance running in the background
docker run \
  --name pathfinder \
  --restart unless-stopped \
  --detach \
  -p 9545:9545 \
  --user "$(id -u):$(id -g)" \
  -e RUST_LOG=info \
  -e PATHFINDER_ETHEREUM_API_URL="<YOUR_ALCHEMY_ETHEREUM_RPC_URL>" \
  -v $HOME/pathfinder:/usr/share/pathfinder/data \
  eqlabs/pathfinder

 

YOUR_ALCHEMY_ETHEREUM_RPC_URL 부분에 Alchemy에서 확인한 이더리움 메인넷 노드 RPC 주소를 붙여넣습니다. 예시를 들면 아래와 같습니다.

 

# Start the pathfinder container instance running in the background
docker run \
  --name pathfinder \
  --restart unless-stopped \
  --detach \
  -p 9545:9545 \
  --user "$(id -u):$(id -g)" \
  -e RUST_LOG=info \
  -e PATHFINDER_ETHEREUM_API_URL="https://eth-mainnet.g.alchemy.com/v2/zPJeUK2LKGg4LjvHPGXYl1Ef4FJ_u7Gn" \
  -v $HOME/pathfinder:/usr/share/pathfinder/data \
  eqlabs/pathfinder

 

입력한 RPC 주소로 이더리움 메인넷 노드와 통신하면서 Starknet 블록을 동기화합니다. 저는 Full node 실행 초기에 나오는 로그를 확인하기 위해 동기화 중에 끊고 다시 실행했기 때문에 블록 번호가 2595지만 처음 실행하면 다소 로그 형태는 다를 수 있습니다. 이더리움 블록 정보를 확인하면서 starknet 블록을 1번부터 동기화합니다.  

 

2023-04-21T15:45:38.349913Z  INFO 🏁 Starting node. version="v0.5.3"
2023-04-21T15:45:39.417621Z  INFO Database migrated. location="./mainnet.sqlite"
2023-04-21T15:45:53.418440Z  INFO ext_py:subproc: Subprocess launched count=2 pid=13
2023-04-21T15:45:53.486944Z  INFO 📡 HTTP-RPC server started on: 0.0.0.0:9545
2023-04-21T15:46:04.448746Z  INFO ext_py:subproc: Subprocess launched count=2 pid=18
2023-04-21T15:46:08.295677Z  INFO Updated StarkNet state with block 2595

 

Ctrl + c 를 누르면 실행 중인 노드가 종료되며 현재 터미널에서 Ctrl + a + d를 누르면 작업을 유지하면서 screen 세션을 빠져나올 수 있습니다. (크롬에서 창 전환과 비슷한 개념입니다.)

 

이제 Putty를 종료해도 실행한 Full node는 종료되지 않습니다.

 

새 터미널에서 다시 node 세션으로 돌아가려면 아래와 같이 명령어를 입력합니다. 

 

screen -r node

 

Starknet 디스코드 에 접속하여 아래와 같이 Alchemy 대시보드 화면으로 트윗을 작성하여 업로드하고 public IP를 같이 남겨줍니다. (많이들 올리시는데 왜 올리는지 모르겠습니다. 어려운 것 아니니 일단 합니다. 급하게 하다가 오타났네요. 죄송합니다.)

 

 

 

노드 운영 중에 에러가 발생한다면 #pathfinder-support-only 채널에서 도움을 받을 수 있고 오류가 발생할 경우 적극적으로 에러 리포트를 제공하면 좋습니다. pathfinder 개발자들은 노드 운영자들의 피드백을 받아 노드를 업데이트하기 때문에 이 또한 starknet 생태계에 기여하는 바라고 할 수 있겠죠.

 

고생하셨습니다. 따라해보시고 안되는 부분이 있거나 궁금하신 점이 있으면 언제든 Telegram 채널에 오셔서 질문 부탁드리겠습니다. 감사합니다.

 

형이랑 돈 버는 채널

2022-06-11, 지금은 완연한 하락장입니다. 다음 상승장을 준비하기 위해 돈 되는 것은 이것저것 긁어모아 씹어서 소화시켜보려고 이 채널을 만들었습니다. 유동자금 약 2000불, 투자금은 1만 불이 안

t.me

 


본 포스팅을 재미있게 읽으셨다면 "❤️"도 눌러주시길 부탁드립니다. 그리고!! 트레이딩에 관심이 있으신 분 + 신규 거래소나 증정금 이벤트를 찾고 계시는 분이라면 bingx 형퍼럴로 가입 부탁드립니다. 컨텐츠 제작에 큰 힘이 됩니다.

 

bingx 거래소에 위 레퍼럴로 신규 가입하시면 최대 300 달러를 받으실 수 있습니다. (입금 0원, 가입링크)

제 레퍼럴로 가입하신 분들은 블로그 댓글이나 텔레그램 채널을 통해 꼭 알려주세요. 아래와 같은 혜택을 드립니다. 추가적인 혜택도 드릴 수 있도록 열심히 노력하겠습니다.

 

1️⃣ 알트코인 트레이딩 시그널 (매일 최소 3회 이상 제공, Entry/TP/SL 포함)
2️⃣ 트레이딩뷰 보조 지표 사용
3️⃣ 15분봉 BTC 및 알트코인 매수/매도 알림 봇 제공
3️⃣ 시장에 따른 실시간 매수/매도 전략
4️⃣ 일일 크립토 시황/국제 경제 브리핑
5️⃣ 비공개 선물 트레이딩 대회 참여 (수익금/수익률/거래량 부문 상금 지급)