안녕하세요. 오늘 포스팅에서는 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 하는 과정을 거쳐야 하기 때문에 에어드랍을 위한 기준에 포함되지 않을까 하는 희망회로를 돌려보고 있습니다. (아직 에어드랍과 관련하여 확실한 공지가 없습니다. 노드 설치는 적지 않은 기회 비용이 드는 일이기에 참여할 지 여부는 본인의 선택에 맡기겠습니다.)
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로서 트랜잭션 생성 과정에 참여하기 위해서는 일정 대기 시간이 필요하다고 합니다.
대시보드의 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 기반 서버 터미널에서 아래와 같이 등록된 노드 정보를 확인할 수 있습니다.
현재는 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 형퍼럴로 가입 부탁드립니다. 컨텐츠 제작에 큰 힘이 됩니다.