Blockchain/Testnet

Shardeum Sphinx 1.1 betanet 밸리데이터 참여 가이드

lowsec 2023. 2. 22. 01:59

Introduction

안녕하세요. 오늘 포스팅에서는 Shardeum Sphinx 1.1 betanet 밸리데이터 참여 가이드를 공유드리고자 합니다. 인도에서 개발 중인 레이어 1 프로젝트인 Shardeum은 2022년 10월 스파르탄그룹, 빅브레인홀딩스, 제인스트릿, 포사이트벤처스 등 50 여개의 VC으로부터 $1820만 투자를 유치한 바 있는 프로젝트입니다. 

 

사진. Shardeum Sphinx (Betanet) is Live!

 

지난 2월 16일에 Shardeum의 베타넷인 Sphinx의 v1.1이 정식 출시되었습니다. 베타넷은 메인넷으로 가기 바로 직전에 애플리케이션과 네트워크를 테스트하기 위한 목적으로 운영하는 테스트넷을 의미합니다. 공식 사이트에서도 "Final Testnet"이라고 얘기하는 걸 보니 메인넷 런칭이 얼마 남지 않았다는 거겠죠?

 

사진. Sphinx 1.1 is live(https://discord.com/channels/933959587462254612/1058349322627989555/1075473713551650856)

 

네이티브 토큰인 $SHM의 토크노믹스를 보면 Airdrop/Ecosystem에 할당된 양이 약 2500만 개 정도로 확인됩니다. 이를 근거로 TGE 시 커뮤니티 기여자나 테스트넷 참여자 대상으로 에어드랍을 해주지 않을까 기대해볼 수 있습니다. 개인적으로 베타넷의 validator 참여는 적당한 진입 장벽과 함께 EVM 주소를 대시보드에 등록하고 Staking 하는 과정을 거쳐야 하기 때문에 에어드랍을 위한 기준에 포함되지 않을까 하는 희망회로를 돌려보고 있습니다. (아직 에어드랍과 관련하여 확실한 공지가 없습니다. 노드 설치는 적지 않은 기회 비용이 드는 일이기에 참여할 지 여부는 본인의 선택에 맡기겠습니다.)

 

사진: $SHM 토크노믹스

 

본 포스팅의 가이드 내용은 https://docs.shardeum.org/node/run/validator 를 기반으로 제작되었음을 알려드립니다.

 

사전 준비

 

베타넷 Validator 설치를 위해서는 아래와 같은 사전 준비 과정이 필요합니다.

  • Linux 기반 서버 (Ubuntu 등)
  • 하드웨어 스펙 (최소)
    • CPU: 2-4 Core
    • Memory: 4+ GB
    • Storage: 250GB SSD
  • 필수 애플리케이션 설치: curl, docker

 

필수 어플리케이션은 준비된 Linux 기반 서버에 아래와 같은 명령어를 차례로 입력하여 설치합니다.

 

sudo apt-get update
# curl 설치
sudo apt-get install curl
# docker 설치
sudo apt install docker.io
# docker 버전 확인
docker --version
# docker-compose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# docker-compose 실행 권한 부여
sudo chmod +x /usr/local/bin/docker-compose
# docker-compose 버전 확인
docker-compose --version

 

Validator 설치

 

아래 명령어를 입력하여 Validator를 설치합니다.

curl -O https://gitlab.com/shardeum/validator/dashboard/-/raw/main/installer.sh && chmod +x installer.sh && ./installer.sh

 

설치 과정 중 여러 개의 프롬프트 창이 뜨는데 아래와 같이 입력해 줍니다. 

 

validator 실행 중 발생하는 데이터에 대한 수집 허용:

By running this installer, you agree to allow the Shardeum team to collect this data. (y/n)?:

web 기반 대시보드 설치 여부:

Do you want to run the web based Dashboard? (y/n): y 

대시보드 비밀번호 설정:

Set the password to access the Dashboard: 

대시보드 접속에 사용하는 TCP 네트워크 포트 (기본: 8080):

Enter the port (1025-65536) to access the web based Dashboard (default 8080): 

노드 간 P2P 통신에 사용하는 TCP 네트워크 포트 (기본: 9001):

This allows p2p communication between nodes. Enter the first port (1025-65536) for p2p communication (default 9001):

노드 간 P2P 통신에 사용하는 두 번째 TCP 네트워크 포트 (기본: 10001):

Enter the second port (1025-65536) for p2p communication (default 10001):

데이터 저장 경로:

What base directory should the node use (defaults to ~/.shardeum): 

조금 기다리면 설치 및 밸리데이터 실행이 완료됩니다. 

 

노드가 잘 실행되었는지 확인하기 위해 docker ps 명령어를 입력했을 때 아래와 같이 Status가 Up이 나오면 정상입니다.

 

사진. 컨테이너 실행 여부 확인

 

Validator CLI 및 GUI 실행

 

CLI (Command Line Interface): 명령어 입력 인터페이스 (ex. Ubuntu의 Terminal, Windows의 Powershell)
GUI (Graphic User Interface): 그래픽 사용자 인터페이스, CLI를 불편하게 생각하는 사용자를 위해 만든 그래픽 기반 인터페이스 (ex. Windows 데스크탑)

 

Shardeum에서는 Validator 실행을 위한 CLI를 제공하고 있습니다. 아래와 같이 Validator CLI를 실행합니다. shell.sh를 실행했을 때 계정명이 node로 바뀌어야 정상입니다.

 

# 데이터 저장 경로로 이동
cd .shardeum
# shell.sh 실행
./shell.sh
# shell 접속 (계정명이 node로 변경되었는지 확인)
node@f8fdce7ef788:~/app$
# gui 시작
operator-cli gui start

 

웹 브라우저에서 대시보드에 접속합니다. Valiator 실행 환경에 따라 아래와 같이 구분하여 주소를 입력합니다.

  • 로컬 환경 (내부)에서 Validator를 실행하는 경우: http://127.0.0.1:8080
  • 가상 환경 (외부)에서 Validator를 실행하는 경우: http:<SERVER_PUBLIC_IP>:8080

 

Validator 설치 과정에서 지정한 비밀번호를 입력하여 대시보드에 접속합니다.

 

사진. 대시보드 접속

 

비밀번호를 바꾸고 싶다면 shell 안에서 아래와 같이 입력합니다.

 

operator-cli gui set password <type_new_password__here>

 

Validator 시작

 

대시보드에서 Maintenance 메뉴에 접속합니다. "Start Node" 버튼을 클릭하여 노드를 실행합니다. 노드 상태가 "Standby"로 변경되는지 확인합니다. Validator로서 트랜잭션 생성 과정에 참여하기 위해서는 일정 대기 시간이 필요하다고 합니다. 

 

사진. 노드 상태 확인

 

shell 안에서도 아래와 같이 노드를 시작/종료할 수 있습니다.

 

operator-cli start

operator-cli stop

 

EVM 지갑 연결 및 Faucet 수령

 

링크(Connect to Sphinx 1.X with your wallet by clicking the button linked here)에 접속하여 지갑 RPC 연결 정보를 확인합니다. 

Sphinx 1.X의 Connect Wallet 메뉴의 "Click to Connect to Sphinx 1.X" 버튼을 클릭하면 자동으로 메타마스크 지갑의 네트워크가 변경됩니다. Network Details를 이용하여 수동으로 등록할 수도 있습니다.

 

사진. Sphinx 1.X Network Endpoint

 

대시보드 페이지에서 지갑을 연결했다면 링크(Shardeum Twitter SHM Faucet Guide for Sphinx 1.X)를 클릭하여 베타넷을 위한 faucet을 수령합니다. faucet 페이지에서 tweet을 작성하거나 디스코드에서 faucet을 요청할 수 있습니다. 요청 후 잠시 시간이 지나면 15 $SHM이 지갑에 들어옵니다.

 

$SHM 스테이킹

 

대시보드의 Maintenance > Add/Remove Stake에서 $SHM을 10 $SHM 이상 스테이킹하면 Validator 후보로 등록되고 일정 시간이 지나면 네트워크가 자동으로 Validator 그룹으로 추가합니다. Wallet address가 연결된 메타마스크의 EVM 주소와 동일한지 확인하고 스테이킹할 수량을 입력합니다.

 

 

Public IP가 0.0.0.0으로 인식되는 경우 대시보드에서 에러를 확인할 수 있을 겁니다. 이럴 경우 shell 안에서 Validator가 실행되고 있는 서버의 Public IP를 아래와 같이 등록합니다.

 

# 서버의 public ip 확인
curl https://ipinfo.io/ip
3.38.112.153node@f8fdce7ef788:~/app$

# APP_IP 환경변수를 public ip로 세팅
export APP_IP="3.38.112.153"

# 확인
export

 

Validator가 설치된 Linux 기반 서버 터미널에서 아래와 같이 등록된 노드 정보를 확인할 수 있습니다.

 

curl localhost:9001/nodeinfo
{"nodeInfo":{"publicKey":"5bff3a1287ba3f88cff8b15e64bd3bb3a2e0dbcc17a974c58d82ad394fd9c48c","curvePublicKey":"8bd7575cc3086700f2e984a01eee52b3c957391da4c1eb385aa5674135b71e43","externalIp":"3.38.112.153","externalPort":9001,"internalIp":"3.38.112.153","internalPort":10001,"status":null,"appData":{"shardeumVersion":"1.1.0","minVersion":"","activeVersion":""}}

 

참고. 노드 업데이트 및 버전 확인

 

현재는 1.1 버전의 노드를 사용하고 있지만 노드 버전이 변경될 경우 편리하게 업데이트할 수 있도록 쉡 스크립트를 제공하고 있습니다.

 

# $HOME으로 이동
cd ~
# 데이터 저장 경로로 이동
cd .shardeum
# 업데이트 쉘 스크립트 실행
./update.sh

# shell 접속
./shell.sh
# valdiator cli 업데이트
operator-cli update
# validator cli 버전 확인
operator-cli version

 

Troubleshooting

external ip = "0.0.0.0" 오류로 노드가 수시로 중지되는 현상을 겪는 분들이 많이 있는 것으로 알고 있습니다. 디스코드에도 비슷한 오류를 겪는 사람이 많이 보였으나 확실한 해결책은 아직 없어 보였습니다. (가이드 대로 세팅해도 수시로 풀림)

 

오늘 저도 같은 오류를 겪어서 아래와 같은 방법으로 일단 해결하였습니다. 현재 1시간 째 노드 정상 동작하고 있고 node 정보를 봐도 externalIP가 0.0.0.0으로 표시되지 않고 있습니다.

 

# shell 개방
cd .shardeum
./shell.sh
# cli 시작
operator-cli start
# cli 종료
operator-cli stop
export APP_IP="<YOUR_PUBLIC_IP>"
# APP_IP 값이 잘 세팅되었는지 확인
export
# nodeInfo의 externalIP 값이 자신의 public ip와 동일한지 확인
operator-cli status
state: standby
totalTimeRunning: 355.35
totalTimeValidating: 2760000
lastActive: 1677223883000
lastRotationIndex: 224/231
stakeRequirement: '10.0'
nominatorAddress: '0x706f9ac0c9d08d725b899cc8c2582620745cf930'
nomineeAddress: e46262b34c0270d4abc649199a52a63ff314839566ac84e9a37cd1fab9b85723
earnings: ''
lastPayout: ''
lifetimeEarnings: ''
performance:
  memPercentage: 96.92892142878843
  diskPercentage: 30.737621527575932
  cpuPercentage: 4.358974358974354
currentRewards: '19.913974722222222222'
lockedStake: '40.0'
nodeInfo:
  id: 44d79049d97de74d409e1b30b7d9c7e26094454a62ec17dd9d399b6ebb026419
  publicKey: e46262b34c0270d4abc649199a52a63ff314839566ac84e9a37cd1fab9b85723
  curvePublicKey: b4a57d22e5f1138f7707c2b60496e4530bbfcdb2d47607b1e892c0dbf58dbb2a
  externalIp: 3.38.112.153
  externalPort: 9001
  internalIp: 3.38.112.153
  internalPort: 10001
  status: null
# shell 종료
exit
# node 정보 확인
curl localhost:9001/nodeinfo
{"nodeInfo":{"publicKey":"e46262b34c0270d4abc649199a52a63ff314839566ac84e9a37cd1fab9b85723","curvePublicKey":"b4a57d22e5f1138f7707c2b60496e4530bbfcdb2d47607b1e892c0dbf58dbb2a","externalIp":"3.38.112.153","externalPort":9001,"internalIp":"3.38.112.153","internalPort":10001,"status":null,"appData":{"shardeumVersion":"1.1.1","minVersion":"","activeVersion":""}}}

고생하셨습니다. 테스트넷 기간 동안 Validator가 정상적으로 잘 실행되고 있는지 Status가 변경되는지 대시보드를 통해 수시로 확인해 주시기 바랍니다.

 

본 가이드에 따라 Validator를 설치하시고 운영하시다가 막히는 부분이 있으면 언제든 Telegram 채널에 오셔서 질문 부탁드리겠습니다. 생산적인 코멘트도 언제든 환영입니다. 감사합니다.


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

 

bingx 거래소 무조건 100달러 받기 이벤트 진행중 (입금 0원, 가입링크)

 

- 회원가입/핸드폰 등록 50 USDT

- KYC 인증 50 USDT

- 500불 입금후 7일유지 / 50 USDT

> 입금없이 받은 증정금만으로도 거래량 이벤트를 달성할수 있습니다. 

- 거래량 10k / 10 USDT

- 거래량 50k / 40 USDT

- 거래량 150k / 100 USDT 

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

1️⃣ 퀀트를 통한 개별 코인 트레이딩 시그널 (매일 최소 3회 이상 제공, Entry/TP/SL 포함)
2️⃣ 시장에 따른 실시간 매수/매도 전략
3️⃣ 리스크 관리를 위한 자금 운용 전략
4️⃣ 일일 크립토 시황/국제 경제 브리핑