데브넷은 메인넷보다 하드웨어 요구사항이 그렇게 높지 않다. 그래서 있는 서버 컴으로 솔라나 밸리데이터를 돌려봤다.
근데 현재 서버컴 cpu 속도가 1.2GHz 밖에 안 나와서... poh speed test도 안하고 스냅샷 다운로드 속도도 느려도 그냥 돌아가는 옵션을 설정해서 실행했다. 입력한 커맨드나 세팅 과정을 다 설명하기엔 무리가 있어서 생략했다.
devnet 계정 데이터 용량
devnet의 현재 계정 데이터는 RAM 16G면 충분하다고 했었는데, 실제로 돌려보니 지금은 훨씬 늘어나서 전혀 아니었다..
지금은 껐다 다시 켜서 할당해놓은 128G중 55G를 사용하고 있는데 돌리다보면 64G 근처로 나오는 것 같더라.
+) 이틀 뒤에 보니 66G로 늘어있었다.
밸리데이터 모니터링
# 입력 command
solana-validator --ledger ~/ledger monitor
# 출력
Ledger location: <ledger경로>
Identity: <validator주소>
Genesis Hash: EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG
Version: 1.8.11
Shred Version: 23305
Gossip Address: <ip>:8000
TPU Address: <ip>:8003
⠒ 21:08:52 | Max Slot: 107393035 | Processed Slot: 107393035 | Confirmed Slot: 107393035 |
Finalized Slot: 107392985 | Snapshot Slot: 107392014 | Transactions: 4138205957 | ◎18.876211415
위 출력은 validator가 슬롯을 정상적으로 따라잡았을 때의 나타나는 출력이다.
⠙ 00:48:35 | 3456 slots behind | Max Slot: 106104379 | Processed Slot: 106100951 | Confirmed Slot: 106100952 |
Finalized Slot: 106100919 | Snapshot Slot: 106099374 | Transactions: 4030166633 | ◎18.721276394
슬롯을 따라 잡지 못해서 뒤쳐지고 있으면 위처럼 나온다.
슬롯 모니터링
# 입력 command
solana catchup ~/validator-keypair.json --our-localhost
# 출력
<validator주소> has caught up (us:107393067 them:107393065)
위 커맨드를 입력했을 때, 밸리데이터가 슬롯을 모두 따라잡았으면 위처럼 출력되고 종료된다.
⠄ 3505 slot(s) behind (us:106101787 them:106105292), our node is gaining at 0.2 slots/second
(AVG: 0.1 slots/second, ETA: slot 106248997 in 14h 36m 15s)
슬롯이 뒤쳐지고 있을 때 위 커맨드를 입력하면 내 밸리데이터가 슬롯을 받아오는 속도를 볼 수 있다. 평균속도가 지속해서 양수면 따라잡을 수 있겠지만, 잘 못 받아오면 점점 뒤쳐진다. 그래서 켠 후 슬롯이 뒤쳐지고 있을 때 며칠 지나서 보면 몇만 슬롯이 뒤쳐져있기도 했다.
대역폭은 1Gbps 정도라 돼야할 것 같은데 cpu 클럭이 너무 느려서인지, 내가 설정한 옵션에 문제가 있는지 등은 높은 사양의 전용서버를 대여한 후 testnet에서 실험해보며 알아봐야할 것 같다. 그래도 이런저런 테스트를 하며 며칠에 걸쳐 여러번 껐다 켜봤더니 정상적으로 따라잡더라.
솔라나 밸리데이터 목록에서 조회한 내 밸리데이터 (devnet)
# 입력 command
solana validators
# 출력 (devnet 밸리데이터 목록)
...
Commission Last Vote Root Slot Skip Rate Credits Version Active Stake
100% 103988778 103988747 - 0 1.8.11 116.8918112 SOL (0.00%)
...
위의 command를 입력하면 config set을 devnet인 상태이기 때문에 devnet의 validator 목록이 나온다.
내가 테스트하며 실제로 스테이킹에 사용한 SOL은 1 SOL이다. 대강의 과정은 다른 글에 정리해두었다.
# 입력 command
solana stake-account ~/validator-stake-keypair.json
# 출력
Balance: 1 SOL
Rent Exempt Reserve: 0.00228288 SOL
Delegated Stake: 0.99771712 SOL
Active Stake: 0.99771712 SOL
Delegated Vote Account Address: <투표계정주소>
Stake Authority: <밸리데이터주소>
Withdraw Authority: <밸리데이터주소>
밸리데이터의 잔액에서 1 SOL을 빼서 넣었고, 그래서 초기 active stake는 1 SOL도 채 되지 않는다.
그런데 vote가 이루어지고 나서 갑자기 active stake가 100 SOL 이상으로 불었더라. 잠깐 활성화된 사이에 사람들이 스테이킹을 했나...
지분을 deactivate 한 후 withdraw all 로 셀프스테이킹한 양만 우선 인출해봤다.
사용한 command는 다음과 같다.
# deactivate : 다음 에포크에 undelegated 된다.
solana deactivate-stake --stake-authority ~/validator-keypair.json ~/validator-stake-keypair.json
# stake-account 상태 확인
solana stake-account ~/validator-stake-keypair.json
Balance: 1 SOL
Rent Exempt Reserve: 0.00228288 SOL
Stake account is undelegated
# withdraw
solana withdraw-stake ~/validator-stake-keypair.json ~/validator-keypair.json ALL
* withdraw ALL로 잔액을 모두 빼내면 해당 스테이크 계정은 사라진다. 해당 파일은 삭제해주자.
예상대로 내 셀프스테이킹 지분을 undelegate 해도 잔액은 여전히 115.89409408 SOL 이었다.
궁금해서 디코 커뮤니티에서 찾아봤는데 누가 얼만큼 스테이킹했는지는 조회할 수 있는 방법이 딱히 없는 것 같다.
'Solana > Validator - 실행 (devnet & testnet)' 카테고리의 다른 글
[Solana Testnet] Validator 실행 시 주요 파일 & 커맨드 (1) | 2022.09.19 |
---|---|
[Solana] 테스트넷 밸리데이터 leader 배정 로그, 모니터링 GUI 관찰 (0) | 2022.07.08 |
[Devnet] 솔라나 밸리데이터 실행기 4 - 6일차 모니터링(Grafana) (0) | 2022.01.17 |
[Devnet] 솔라나 밸리데이터 실행기 3 - telegraf, InfluxDB, Grafana로 모니터링하기 (0) | 2022.01.10 |
[Devnet] 솔라나 밸리데이터 실행기 2 - 슬랙 웹훅 사용해 watchtower 및 vallidator 다운 알림 보내기 (0) | 2022.01.10 |