Solana Mainnet वैलिडेटर - क्विकस्टार्ट
परिचय
Solana mainnet वैलिडेटर डिप्लॉय करने के लिए आप SLV कमांड-लाइन टूल का उपयोग करेंगे।
यह क्विकस्टार्ट गाइड बताती है कि mainnet वैलिडेटर का हॉट स्पेयर कैसे लॉन्च और डिप्लॉय करें।
आपके सर्वर पर Ubuntu 24.04 LTS का क्लीन इंस्टॉलेशन होना आवश्यक है।
बेयर मेटल सर्वर तैयार करना
Solana नोड को VPS या वर्चुअल मशीन (VM) पर चलाना संभव है, लेकिन बेहतरीन प्रदर्शन और स्थिर संचालन हासिल करना मुश्किल है। Solana आधिकारिक तौर पर बेयर मेटल सर्वर के इस्तेमाल की सलाह देता है।
Mainnet वैलिडेटर के संसाधन इस तरह तय किए जाने चाहिए कि वे नेटवर्क में भीड़ के दौरान भी स्थिर रहें।
नीचे आधिकारिक Solana / Agave / Firedancer दस्तावेज़ों पर आधारित एक दिशानिर्देश दिया गया है।
नीचे आधिकारिक Solana / Agave / Firedancer दस्तावेज़ों पर आधारित एक दिशानिर्देश दिया गया है।
Agave Validator (आधिकारिक आवश्यकताएँ और सिफ़ारिशें)
SOL आवश्यकताएँ
- हर epoch की सीमा पर Vote Account में कम से कम rent-exempt न्यूनतम राशि और एक Validator Admission Ticket के बराबर शेष होना चाहिए (slot समय 200 ms की सेटिंग पर 0.8 SOL)
- Validator Admission Ticket हर epoch के पहले block में Vote Account से काटा जाता है
- rent-exempt न्यूनतम राशि
solana rent 3762से जाँचें (3762 byte में Vote Account का आकार है) - Identity Key अब प्रति वोट शुल्क नहीं देती — Alpenglow में वोट अब transaction के रूप में नहीं भेजे जाते
हार्डवेयर आवश्यकताएँ (दिशानिर्देश)
| घटक | वैलिडेटर | RPC नोड (संदर्भ) |
|---|---|---|
| CPU | 2.8GHz+ / AMD Gen3+ / Intel Ice Lake+ / SHA एक्सटेंशन / AVX2 | 16 कोर / 32 थ्रेड+ |
| RAM | 256GB+ | 512GB+ |
| डिस्क | NVMe Gen3 x4 या बेहतर / Accounts-Ledger-Snapshots को अलग रखने की सिफ़ारिश | अधिक क्षमता की सिफ़ारिश |
| GPU | आवश्यक नहीं | आवश्यक नहीं |
नोट:
कोर की संख्या की तुलना में क्लॉक स्पीड और प्रभावी थ्रूपुट को अधिक महत्वपूर्ण माना जाता है।
Firedancer (Frankendancer)
Firedancer (Frankendancer) वर्तमान में Agave पर निर्भर है,
इसलिए न्यूनतम रूप से यह Agave के अनुशंसित कॉन्फ़िगरेशन या उससे ऊँचे कॉन्फ़िगरेशन को मानकर चलता है।
इसलिए न्यूनतम रूप से यह Agave के अनुशंसित कॉन्फ़िगरेशन या उससे ऊँचे कॉन्फ़िगरेशन को मानकर चलता है।
न्यूनतम
- 24-कोर CPU @ >2.8GHz
- 256GB RAM
- 2TB NVMe (उच्च TBW)
अनुशंसित
- 32-कोर CPU @ >3GHz (AVX512 समर्थित)
- 512GB RAM (ECC)
- Accounts / Ledger को अलग रखना
- 1Gbps या उससे अधिक नेटवर्क बैंडविड्थ
लागत और प्रदर्शन के संतुलित सेटअप के लिए, 24-कोर CPU और 384GB RAM के साथ Agave एक व्यावहारिक दिशानिर्देश है।
जब आप
slv v init कमांड चलाते हैं, तो आपसे पूछा जाएगा कि क्या आपका बेयर मेटल सर्वर पहले से सेट अप है: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 चुनते हैं।अगर आपने अभी तक अपना बेयर मेटल सर्वर तैयार नहीं किया है, तो कृपया बेयर मेटल सर्वर सेटअप गाइड देखें।
इसके अलावा, ये संसाधन भी आपके लिए उपयोगी हो सकते हैं:
Solana Mainnet Firedancer Jito वैलिडेटर डिप्लॉय करें
SLV के नए डिप्लॉयमेंट हमेशा identity key के रूप में
unstaked-keypair.json का उपयोग करते हैं।
यह डबल वोटिंग और अन्य समस्याओं को रोकने का एक सर्वोत्तम तरीका है।इसलिए, डिप्लॉयमेंट के बाद अधिकृत identity key सेट करने के लिए कृपया
slv v set:identity का उपयोग करें।अधिकांश mainnet वैलिडेटर संचालन में, identity key बदलने के लिए आप
slv v switch का उपयोग करेंगे।
बिना डाउनटाइम वाले माइग्रेशन के लिए कृपया यह गाइड देखें।Solana नेटवर्क चुनें
वह Solana नेटवर्क चुनें जिसमें आप डिप्लॉय करना चाहते हैं।
bash
slv v init
? Select Solana Network (mainnet)
testnet
❯ mainnetslv v init
? Select Solana Network (mainnet)
testnet
❯ mainnetसर्वर का डिफ़ॉल्ट उपयोगकर्ता नाम दर्ज करें
अधिकांश मामलों में डिफ़ॉल्ट उपयोगकर्ता नाम
ubuntu या 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 key सेट करें
※ कृपया अपनी RSA key का पाथ सेट करें। डिफ़ॉल्ट पाथ
~/.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 वैलिडेटर का प्रकार चुनें
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 वैलिडेटर की identity key जनरेट या सेट करें
आप नई identity key जनरेट कर सकते हैं या मौजूदा identity key सेट कर सकते हैं।
यह उदाहरण दिखाता है कि "epics-sub" नाम वाली मौजूदा identity key कैसे सेट करें।
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कृपया अपनी identity key को
~/.slv/keys/<your-pubkey>.json में रखें।क्षेत्र का स्वचालित पता लगाना
इसके बाद, सिस्टम निकटतम क्षेत्र का अपने-आप पता लगाने के लिए आपके कॉन्फ़िगर किए गए नोड से हर ब्लॉक इंजन को ping करेगा। वास्तविक ping मानों को मापकर आप सबसे उपयुक्त क्षेत्र चुन सकते हैं।
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.wtfSolana वैलिडेटर की vote account key जनरेट या सेट करें
आप नई vote account key जनरेट कर सकते हैं या मौजूदा vote account key सेट कर सकते हैं।
यह उदाहरण दिखाता है कि मौजूदा vote account key कैसे सेट करें।
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>वैलिडेटर नोड की जानकारी
~/.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-subवैलिडेटर डिप्लॉय करें
कॉन्फ़िगरेशन की पुष्टि करते ही डिप्लॉयमेंट शुरू हो जाएगा।
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
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
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 वैलिडेटर अब डिप्लॉय हो चुका है। Solana नेटवर्क के साथ
सिंक होने में इसे कुछ समय लगेगा।
डीबगिंग और मॉनिटरिंग
डिप्लॉयमेंट के बाद आप Solana RPC नोड के भीतर डीबग और मॉनिटर कर सकते हैं।
आप नीचे दी गई कमांड से Solana RPC नोड की स्थिति जाँच सकते हैं:
bash
$ solv m$ solv msolv, agave-validator -l /mnt/ledger का एलियास है।
यह सेटिंग RPC नोड डिप्लॉयमेंट के दौरान ~/.profile में जोड़ी जाती है।identity key बदलें
डिप्लॉयमेंट के बाद आपको unstaked key को अधिकृत identity key में बदलना होगा।
bash
slv v set:identity -n mainnet --pubkey epics-subslv v set:identity -n mainnet --pubkey epics-subयह कमांड identity key को अधिकृत identity key में बदल देगी।
※ बिना डाउनटाइम के माइग्रेशन के लिए, कृपया यह गाइड देखें।
SLV वैलिडेटर कमांड
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