Solana 메인넷 검증기 - Quickstart
- 연혁
을 배치하기 Solana mainnet validator, 당신은 사용할 수 있습니다 SLV 명령행 도구.
이 Quickstart 가이드는 mainnet validator 핫 예비를 출시하고 배포하는 방법을 설명합니다.
당신은 있어야 Ubuntu 24.04 LTS는 서버에 설치했습니다.
Baremetal Server를 준비
실행할 수 있는 동안 Solana VPS 또는 가상 머신(VM) 노드는 최적의 성능과 안정적인 작동을 달성하는 것은 도전적입니다. Solana 공식적으로 baremetal 서버의 사용을 권장합니다.
Mainnet validators는 혼잡 중에 안정적으로 유지해야합니다.
아래는 공식에 근거한 가이드라인입니다. Solana / Agave / Firedancer 문서.
Agave Validator (공식 요구 사항 및 권장 사항)
SOL 요건
- 엄격한 최소 SOL 요구 사항이 없습니다.
- 투표 계정은 **0.02685864 SOL ** 임대 면제 될
- 투표 거래는 ~1.1 SOL / day**까지 비용이 줄 수 있습니다.
** 기계설비 요구 사항 (안내) **
| 제품정보 | 인증기관 | RPC Node (설정) |
|---|---|---|
| CPU | 2.8GHz+/ AMD Gen3+ / 인텔 아이스 레이크+ / SHA 확장 / AVX2 | 16의 핵심/32의 실+ |
| 램블 | 256GB+ | 512GB+ |
| 의 특징 | NVMe Gen3 x4 또는 더 나은 / 계정 - 리스 - 냅킨 분리 권장 | 대용량 권장 |
| GPU의 | *필수 | *필수 |
참고: 시계 속도와 효과적인 처리량은 핵심 조사 보다는 더 중요하게 여겨집니다.
Firedancer (프랭클렌즈)
Firedancer (Frankendancer)는 현재 Agave에 따라 다릅니다.
그래서 최소한 Agave 권장 구성 또는 더 높은 가정.
**최소 **
- 24 코어 CPU 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의 GSM: 의
- 256GB RAM
- 2TB NVMe (높은 TBW)
추천
- 32 코어 CPU @ >3GHz (AVX512 지원)
- 512GB RAM (ECC)
- 계정/레이저 별거
- 1Gbps 이상의 네트워크 대역폭
균형 잡힌 비용 성능 설정, 24 코어와 Agave CPU 그리고 384GB RAM은 실제 가이드라인입니다.
당신이 실행할 때
slv v init 명령, 당신은 당신의 baremetal 서버가 이미 설정했는지 묻는 것입니다:bash
➜ slv v init
? Select Solana Network (testnet) › mainnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
no➜ slv v init
? Select Solana Network (testnet) › mainnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
no이 튜토리얼은 당신이 선택해야
yes.아직 베어메탈 서버를 준비하지 않은 경우, 참고해 주세요. Baremetal Server 설정 가이드.
또한, 이 리소스를 도움이 될 수 있습니다:
팟캐스트 Solana 메인넷 Firedancer Jito 인증기관
의 새로운 SLV 항상 배포
unstaked-keypair.json 정체 키로.
이 두 배 투표 및 다른 문제를 방지하는 가장 좋은 연습입니다.따라서, 배포 후, 사용하시기 바랍니다
slv v set:identity 인증된 ID 키를 설정하기 위해.대부분의 mainnet validator 작업에서 사용할 수 있습니다.
slv v switch ID 키를 변경합니다.
정류소유를 위해, 참고하십시오 이 가이드.선택하기 Solana 회사연혁
선택하기 Solana 배포하려는 네트워크.
bash
slv v init
? Select Solana Network (mainnet)
testnet
❯ mainnetslv v init
? Select Solana Network (mainnet)
testnet
❯ mainnetServer의 기본 사용자명 입력
대부분의 경우, 기본 사용자 이름은
ubuntu or root.bash
? What's the user for the server? (ubuntu) › ubuntu? What's the user for the server? (ubuntu) › ubuntu입력 서버 IP 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의
입력하기 IP 서버의 주소.
bash
? What's the IP address of the server? ›? What's the IP address of the server? ›SSH를 위한 RSA 열쇠를 놓으십시오
※ RSA 키로 경로 설정. 기본 경로는
~/.ssh/id_rsa.bash
? What's the path to your RSA key? (~/.ssh/id_rsa) › ~/.ssh/id_rsa
🔍 Checking SSH connection...
✔︎ SSH connection succeeded? What's the path to your RSA key? (~/.ssh/id_rsa) › ~/.ssh/id_rsa
🔍 Checking SSH connection...
✔︎ SSH connection succeeded다음 것 SLV 서버의 연결을 확인합니다. 연결이 있는 경우
성공하면 다음 단계가 신속하게됩니다.
의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Solana Validator 유형
유형 선택 Solana 인증.
bash
? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
❯ firedancer-jito? Select Validator Type (firedancer-jito)
agave
jito
jito-bam
firedancer-agave
❯ firedancer-jito설정 수수료
당신의 검증인을 위한 수수료 비율을 설정합니다.
※ 1000은 10%를 상응합니다.
bash
? Enter Commission BPS (Max 1000 = 10%) (1000)? Enter Commission BPS (Max 1000 = 10%) (1000)생성 또는 설정 Solana Validator ID 키
새로운 정체 키를 생성하거나 기존의 정체 키를 설정할 수 있습니다.
이 예제는 "epics-sub"라는 이름으로 기존의 정체 키를 설정하는 방법을 보여줍니다.
bash
? Do you want to create a new identity key now? (Y/n) › No
? Please Enter Your Identity Public Key › KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM
? Enter Inventory Name (KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM) › epics-sub
⚠️ Please place your identity key in
~/.slv/keys/KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM.json
.
.
✔︎ Success
✔ Inventory updated to ~/.slv/inventory.yml
✔ Successfully created solv user on x.x.x.x? Do you want to create a new identity key now? (Y/n) › No
? Please Enter Your Identity Public Key › KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM
? Enter Inventory Name (KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM) › epics-sub
⚠️ Please place your identity key in
~/.slv/keys/KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM.json
.
.
✔︎ Success
✔ Inventory updated to ~/.slv/inventory.yml
✔ Successfully created solv user on x.x.x.x당신의 정체 키를 배치하십시오
~/.slv/keys/<your-pubkey>.json.자동 영역 검출
다음 시스템은 구성 노드에서 각 블록 엔진을 자동으로 감지하여 가장 가까운 지역을 감지합니다. 실제 핑 값을 측정하면 최적의 지역을 선택할 수 있습니다.
bash
✔ Inventory updated to ~/.slv/inventory.mainnet.validators.yml
📍 Measuring latencies from x.x.x.x to mainnet regions...
Pinging Amsterdam (amsterdam.mainnet.block-engine.jito.wtf)...
Pinging Dublin (dublin.mainnet.block-engine.jito.wtf)...
Pinging Frankfurt (frankfurt.mainnet.block-engine.jito.wtf)...
Pinging London (london.mainnet.block-engine.jito.wtf)...
Pinging New York (ny.mainnet.block-engine.jito.wtf)...
Pinging Salt Lake City (slc.mainnet.block-engine.jito.wtf)...
Pinging Singapore (singapore.mainnet.block-engine.jito.wtf)...
Pinging Tokyo (tokyo.mainnet.block-engine.jito.wtf)...
✅ London: 8.801 ms
✅ Dublin: 12.946 ms
✅ Frankfurt: 5.888 ms
✅ Amsterdam: 0.169 ms
✅ New York: 74.321 ms
✅ Salt Lake City: 115.577 ms
✅ Singapore: 154.200 ms
✅ Tokyo: 229.989 ms
🎯 Nearest region: 🇳🇱 Amsterdam
Latency: 0.169 ms
Block Engine: https://amsterdam.mainnet.block-engine.jito.wtf
Shred Receiver: 74.118.140.240:1002
Relayer: http://amsterdam.mainnet.relayer.jito.wtf:8100
NTP Server: ntp.amsterdam.jito.wtf✔ Inventory updated to ~/.slv/inventory.mainnet.validators.yml
📍 Measuring latencies from x.x.x.x to mainnet regions...
Pinging Amsterdam (amsterdam.mainnet.block-engine.jito.wtf)...
Pinging Dublin (dublin.mainnet.block-engine.jito.wtf)...
Pinging Frankfurt (frankfurt.mainnet.block-engine.jito.wtf)...
Pinging London (london.mainnet.block-engine.jito.wtf)...
Pinging New York (ny.mainnet.block-engine.jito.wtf)...
Pinging Salt Lake City (slc.mainnet.block-engine.jito.wtf)...
Pinging Singapore (singapore.mainnet.block-engine.jito.wtf)...
Pinging Tokyo (tokyo.mainnet.block-engine.jito.wtf)...
✅ London: 8.801 ms
✅ Dublin: 12.946 ms
✅ Frankfurt: 5.888 ms
✅ Amsterdam: 0.169 ms
✅ New York: 74.321 ms
✅ Salt Lake City: 115.577 ms
✅ Singapore: 154.200 ms
✅ Tokyo: 229.989 ms
🎯 Nearest region: 🇳🇱 Amsterdam
Latency: 0.169 ms
Block Engine: https://amsterdam.mainnet.block-engine.jito.wtf
Shred Receiver: 74.118.140.240:1002
Relayer: http://amsterdam.mainnet.relayer.jito.wtf:8100
NTP Server: ntp.amsterdam.jito.wtf생성 또는 설정 Solana Validator 투표 계정 키
새로운 투표 계정 키를 생성하거나 기존 투표 계정 키를 설정할 수 있습니다.
이 예제는 기존의 투표 계정 키 설정 방법을 보여줍니다.
bash
? Do you want to create a new vote account key now? (Y/n) › No
? Please Enter Your Vote Account Public Key > <your-vote-account>? Do you want to create a new vote account key now? (Y/n) › No
? Please Enter Your Vote Account Public Key > <your-vote-account>validator 노드 정보는 저장됩니다.
~/.slv/inventory.mainnet.validators.yml.bash
✔︎ Success
✔ Inventory updated to ~/.slv/inventory.mainnet.validators.yml
✔ Successfully created solv user on epics-sub
✔︎ Validator Mainnet Config Saved To ~/.slv/inventory.mainnet.validators.yml
Now you can deploy with:
$ slv v deploy -n mainnet -p epics-sub✔︎ Success
✔ Inventory updated to ~/.slv/inventory.mainnet.validators.yml
✔ Successfully created solv user on epics-sub
✔︎ Validator Mainnet Config Saved To ~/.slv/inventory.mainnet.validators.yml
Now you can deploy with:
$ slv v deploy -n mainnet -p epics-subValidator 배포
구성을 확인하면 배포가 시작됩니다.
bash
slv v deploy -n mainnet -p epics-subslv v deploy -n mainnet -p epics-subbash
Your Mainnet Validators Settings:
┌────────────────┬──────────────────────────────────────────────┐
│ Identity Key │ KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM │
├────────────────┼──────────────────────────────────────────────┤
│ Vote Key │ EpicsoqLdDP8qRn3wQRKTSKAXbjK9dUgFfNPRQS77MQD │
├────────────────┼──────────────────────────────────────────────┤
│ Authority Key │ authAccount │
├────────────────┼──────────────────────────────────────────────┤
│ IP │ x.x.x.x │
├────────────────┼──────────────────────────────────────────────┤
│ Validator Type │ firedancer-jito │
├────────────────┼──────────────────────────────────────────────┤
│ Version │ 0.712.30006 │
└────────────────┴──────────────────────────────────────────────┘
? Do you want to continue? (Y/n) › Yes
.
.
.
Successfully Deployed RPC on mainnet
⚡️⚡️⚡️ Enhanced Solana RPC Connection API Key ⚡️⚡️⚡️
We're excited to offer a free API key exclusively for the Validators DAO community 🎉
It's our way of supporting the community and empowering you with fast, reliable connections.
To get your Free API key, simply join us through the link below:
Validators DAO: `https://discord.gg/X4BgkBHavp`
Unlock fast connections and elevate your experience with your very own API key 🚀
You can monitor your Node with the following steps:
Log in to your server with SSH:
ssh [email protected]
Then, run the following command to monitor your node:
$ solv mYour Mainnet Validators Settings:
┌────────────────┬──────────────────────────────────────────────┐
│ Identity Key │ KTMkUG8WCw9FdH44jLMBpc1teGafnYL6SgP4fHHbsNM │
├────────────────┼──────────────────────────────────────────────┤
│ Vote Key │ EpicsoqLdDP8qRn3wQRKTSKAXbjK9dUgFfNPRQS77MQD │
├────────────────┼──────────────────────────────────────────────┤
│ Authority Key │ authAccount │
├────────────────┼──────────────────────────────────────────────┤
│ IP │ x.x.x.x │
├────────────────┼──────────────────────────────────────────────┤
│ Validator Type │ firedancer-jito │
├────────────────┼──────────────────────────────────────────────┤
│ Version │ 0.712.30006 │
└────────────────┴──────────────────────────────────────────────┘
? Do you want to continue? (Y/n) › Yes
.
.
.
Successfully Deployed RPC on mainnet
⚡️⚡️⚡️ Enhanced Solana RPC Connection API Key ⚡️⚡️⚡️
We're excited to offer a free API key exclusively for the Validators DAO community 🎉
It's our way of supporting the community and empowering you with fast, reliable connections.
To get your Free API key, simply join us through the link below:
Validators DAO: `https://discord.gg/X4BgkBHavp`
Unlock fast connections and elevate your experience with your very own API key 🚀
You can monitor your Node with the following steps:
Log in to your server with SSH:
ssh [email protected]
Then, run the following command to monitor your node:
$ solv m그것은 완료! 당신의 Solana Validator가 배포되었습니다. 그것은 몇 번 걸릴 것입니다.
동기화 Solana 네트워크.
Debugging & 모니터링
배포 후, 당신은 디버그 및 모니터 할 수 있습니다 Solana RPC 노드.
당신은 상태를 확인할 수 있습니다 Solana RPC 다음 명령을 사용하여 노드:
bash
$ solv m$ solv msolv alias는 agave-validator -l /mnt/ledger.
이 설정은 추가됩니다 ~/.profile 중 하나 RPC 노드 배포.ID 키 변경
배포 후, 공인된 정체성 키에 unstaked 키를 변경해야 합니다.
bash
slv v set:identity -n mainnet --pubkey epics-subslv v set:identity -n mainnet --pubkey epics-sub이 명령은 인증된 정체 키에 정체 키를 변경합니다.
SLV Validator 명령
bash
slv validator --help
Usage: slv validator
Version: 0.9.700
Description:
🛠️ Manage Solana Validator Nodes 🛠️
Options:
-h, --help - Show this help.
Commands:
init - 🚀 Initialize a new validator configuration
deploy - 📦 Deploy Validators
list - 📋 List validators
set:identity - 🪪 Set Validator Identity
set:unstaked - 📴 Set Validator Identity to Unstaked Key
setup:firedancer - 🔥 Setup/Update Firedancer Validator
update:firedancer - 🔄 Update Firedancer Version
build:solana-cli - 🛠️ Build Solana CLI from Source
install:solana - ➡️ Install Solana CLI Binary
update:script - ⚙️ Update Validator Startup Config
update:jinja - 🧩 Update Jinja Template
start - 🟢 Start Validator
stop - 🔴 Stop Validator
restart - ♻️ Restart Validator
cleanup - 🧹 Cleanup Validator - Remove Ledger/Snapshot Unnecessary Files
get:snapshot - 💾 Download Snapshot with aria2c
gen:vote-account - 🗳️ Generate Vote Account
switch - 🔁 Switch Validator Identity - No DownTime Migrationslv validator --help
Usage: slv validator
Version: 0.9.700
Description:
🛠️ Manage Solana Validator Nodes 🛠️
Options:
-h, --help - Show this help.
Commands:
init - 🚀 Initialize a new validator configuration
deploy - 📦 Deploy Validators
list - 📋 List validators
set:identity - 🪪 Set Validator Identity
set:unstaked - 📴 Set Validator Identity to Unstaked Key
setup:firedancer - 🔥 Setup/Update Firedancer Validator
update:firedancer - 🔄 Update Firedancer Version
build:solana-cli - 🛠️ Build Solana CLI from Source
install:solana - ➡️ Install Solana CLI Binary
update:script - ⚙️ Update Validator Startup Config
update:jinja - 🧩 Update Jinja Template
start - 🟢 Start Validator
stop - 🔴 Stop Validator
restart - ♻️ Restart Validator
cleanup - 🧹 Cleanup Validator - Remove Ledger/Snapshot Unnecessary Files
get:snapshot - 💾 Download Snapshot with aria2c
gen:vote-account - 🗳️ Generate Vote Account
switch - 🔁 Switch Validator Identity - No DownTime Migration