Solana Mainnet RPC - Hızlı başlangıç
Giriş
Solana mainnet RPC dağıtmak için SLV komut satırı aracını kullanacaksınız.
Bu hızlı başlangıç kılavuzu, SLV komut satırı aracıyla Geyser Yellowstone eklentisine sahip bir Solana mainnet RPC'nin nasıl dağıtılacağını açıklar.
Sunucunuzda temiz kurulmuş Ubuntu 24.04 LTS bulunmalıdır.
Bare Metal Sunucu Hazırlama
Bir Solana istemcisini VPS veya sanal makine (VM) üzerinde çalıştırmak mümkün olsa da en iyi performansı ve kararlı bir işletimi elde etmek zordur. Özellikle RPC düğümleri ve validatörler yüksek yük altında çalıştığından, uygun bir sunucu ortamı kurmak çok önemlidir.
Solana resmi olarak bare metal sunucuların kullanılmasını önerir.
RPC düğümleri iş yüküne göre büyük farklılık gösterir.
Standart RPC (SendTx / Geyser gRPC) ile Index RPC (tam indeksleme), özellikle bellek ve depolama gereksinimleri açısından önemli ölçüde farklıdır.
Standart RPC (SendTx / Geyser gRPC) ile Index RPC (tam indeksleme), özellikle bellek ve depolama gereksinimleri açısından önemli ölçüde farklıdır.
RPC donanım gereksinimleri (genel kılavuz)
| Bileşen | RPC Düğümü | Index RPC (referans) |
|---|---|---|
| CPU | 24 çekirdek+ @ 2.8GHz+ / AMD Gen3+ / Intel Ice Lake+ / SHA uzantıları / AVX2 | 32 çekirdek+ (yüksek saat hızı önerilir) |
| RAM | 512GB+ | 1152GB+ |
| Disk | NVMe Gen3 x4 veya üzeri / Accounts / Ledger / Snapshots ayrımı önerilir | Daha büyük kapasite + yüksek TBW / ayrım önerilir |
| Ağ | 1Gbps veya üzeri | 1Gbps veya üzeri (daha fazla bant genişliği tercih edilir) |
| GPU | Gerekli değil | Gerekli değil |
Not:
Saat hızı ve efektif işlem kapasitesi, çekirdek sayısından daha önemli kabul edilir.
Index RPC'de bellek ve depolama darboğaz olabilir; bu nedenle yeterli kapasite ve yüksek IOPS sağlayın.
İndeksleme gerekiyorsa 768GB veya üzerini, kararlı bir işletim için ise 1152GB veya üzerini öneririz.
SLV Metal, bütçeniz dahilinde en yüksek performansı sunmak için tasarlanmış bare metal sunucular sağlar.
slv metal list komutunu çalıştırdığınızda, Solana RPC düğümleri için özel olarak tasarlanmış RPC seçeneğini bulabilirsiniz.bash
slv metal list
? 🛡️ Select SLV BareMetal Type (APP)
📦 APP - For Trade Bot,Testnet Validator, DApp and More!
🚀 MV - For Solana Mainnet Validator
❯ 🛡️⚡️ RPC - For Solana RPC Nodeslv metal list
? 🛡️ Select SLV BareMetal Type (APP)
📦 APP - For Trade Bot,Testnet Validator, DApp and More!
🚀 MV - For Solana Mainnet Validator
❯ 🛡️⚡️ RPC - For Solana RPC NodeHenüz bare metal sunucunuzu kurmadıysanız lütfen şu kılavuzu izleyin: Bare Metal Sunucu Kurulum Kılavuzu.
Ayrıca aşağıdaki kaynaklara da bakın:
Solana RPC Düğümünü Dağıtma
Önce Solana RPC yapılandırmasını başlatın.
Ağ olarak istediğiniz Solana ağını seçin.
bash
slv rpc init
? Select Solana Network (mainnet)
testnet
devnet
❯ mainnetslv rpc init
? Select Solana Network (mainnet)
testnet
devnet
❯ mainnetArdından, Solana düğümüyle uyumlu bir sunucunuz olup olmadığını onaylayın.
bash
? 🛡️ Do you have a Solana Node Compatible Server? (yes)
❯ yes
no? 🛡️ Do you have a Solana Node Compatible Server? (yes)
❯ yes
noBu kılavuz
yes seçtiğinizi varsayar.Sunucu Kullanıcısını ve IP Adresini Ayarlama
Sunucu kullanıcısını, IP adresini ve RSA anahtar yolunu ayarlayın.
bash
? What's the user for the server? (root) › root
? Enter the server IP address › x.x.x.x
? What's the path to your RSA key? (~/.ssh/id_rsa)? What's the user for the server? (root) › root
? Enter the server IP address › x.x.x.x
? What's the path to your RSA key? (~/.ssh/id_rsa)Otomatik Bölge Tespiti
Ardından sistem, yapılandırdığınız düğümden her block engine'e ping atarak en yakın bölgeyi otomatik olarak tespit eder. Gerçek ping değerlerini ölçerek en uygun bölgeyi seçebilirsiniz.
bash
🔍 Checking SSH connection...
✔︎ SSH connection succeeded
📍 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)...
✅ Singapore: 0.291 ms
✅ London: 154.071 ms
✅ Dublin: 167.267 ms
✅ Frankfurt: 149.081 ms
✅ Amsterdam: 154.501 ms
✅ New York: 228.624 ms
✅ Salt Lake City: 278.016 ms
✅ Tokyo: 376.816 ms
🎯 Nearest region: 🇸🇬 Singapore
Latency: 0.291 ms
Block Engine: https://singapore.mainnet.block-engine.jito.wtf
Shred Receiver: 202.8.11.224:1002
Relayer: http://singapore.mainnet.relayer.jito.wtf:8100
NTP Server: ntp.singapore.jito.wtf🔍 Checking SSH connection...
✔︎ SSH connection succeeded
📍 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)...
✅ Singapore: 0.291 ms
✅ London: 154.071 ms
✅ Dublin: 167.267 ms
✅ Frankfurt: 149.081 ms
✅ Amsterdam: 154.501 ms
✅ New York: 228.624 ms
✅ Salt Lake City: 278.016 ms
✅ Tokyo: 376.816 ms
🎯 Nearest region: 🇸🇬 Singapore
Latency: 0.291 ms
Block Engine: https://singapore.mainnet.block-engine.jito.wtf
Shred Receiver: 202.8.11.224:1002
Relayer: http://singapore.mainnet.relayer.jito.wtf:8100
NTP Server: ntp.singapore.jito.wtfKimlik Anahtar Çiftini Oluşturma
Kimlik anahtar çiftiniz yoksa yeni bir tane oluşturabilirsiniz.
bash
? Do you want to create a new identity key now? (Y/n) › Yes
🔑 Generating new identity key...
✨ Generated Key: p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
✨ Moved Key to: ~/.slv/keys/p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV.json? Do you want to create a new identity key now? (Y/n) › Yes
🔑 Generating new identity key...
✨ Generated Key: p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
✨ Moved Key to: ~/.slv/keys/p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV.jsonSolana CLI Seçimi
Solana CLI sürümünü seçin.
bash
? Select Solana CLI (jito)
agave
❯ jito
firedancer-agave
firedancer-jito? Select Solana CLI (jito)
agave
❯ jito
firedancer-agave
firedancer-jitoRPC Türü Seçimi
RPC türünü seçin.
bash
? Select an RPC type
❯ Geyser gRPC
Index RPC
SendTx RPC
Index RPC + gRPC? Select an RPC type
❯ Geyser gRPC
Index RPC
SendTx RPC
Index RPC + gRPCBu kılavuzda
Geyser gRPC seçiyoruz.Yapılandırmayı Onaylama
Son olarak, yapılandırmayı onaylayın.
bash
✔︎ Success
✔ Inventory updated to ~/.slv/inventory.mainnet.rpcs.yml
✔ Successfully created solv user on p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
✔︎ mainnet_rpcs inventory file has been saved to ~/.slv/inventory.mainnet.rpcs.yml
Now you can deploy with:
$ slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV✔︎ Success
✔ Inventory updated to ~/.slv/inventory.mainnet.rpcs.yml
✔ Successfully created solv user on p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
✔︎ mainnet_rpcs inventory file has been saved to ~/.slv/inventory.mainnet.rpcs.yml
Now you can deploy with:
$ slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLVArdından bare metal sunucuda
solv kullanıcısı oluşturulur ve
Solana RPC yapılandırması ~/.slv/inventory.mainnet.rpcs.yml dosyasına kaydedilir.Solana RPC Düğümünü Dağıtma
Yapılandırmayı onayladığınızda dağıtım başlar.
bash
slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLVslv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLVbash
Your mainnet RPC Nodes Settings:
┌──────────────┬─────────────────────────────────────────────┐
│ Identity Key │ p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV │
├──────────────┼─────────────────────────────────────────────┤
│ Name │ p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV │
├──────────────┼─────────────────────────────────────────────┤
│ IP │ x.x.x.x. │
├──────────────┼─────────────────────────────────────────────┤
│ Region │ singapore │
├──────────────┼─────────────────────────────────────────────┤
│ RPC Type │ Geyser gRPC │
├──────────────┼─────────────────────────────────────────────┤
│ Version │ 3.0.7-jito │
└──────────────┴─────────────────────────────────────────────┘
.
.
.
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 RPC Nodes Settings:
┌──────────────┬─────────────────────────────────────────────┐
│ Identity Key │ p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV │
├──────────────┼─────────────────────────────────────────────┤
│ Name │ p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV │
├──────────────┼─────────────────────────────────────────────┤
│ IP │ x.x.x.x. │
├──────────────┼─────────────────────────────────────────────┤
│ Region │ singapore │
├──────────────┼─────────────────────────────────────────────┤
│ RPC Type │ Geyser gRPC │
├──────────────┼─────────────────────────────────────────────┤
│ Version │ 3.0.7-jito │
└──────────────┴─────────────────────────────────────────────┘
.
.
.
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İşlem tamam! Solana RPC düğümünüz artık dağıtıldı.
Solana ağıyla senkronize olması biraz zaman alacaktır.
Hata Ayıklama ve İzleme
Dağıtımdan sonra Solana RPC düğümünün durumunu aşağıdaki komutla kontrol edebilirsiniz:
bash
ssh solv@<your-server-ip>
solv mssh solv@<your-server-ip>
solv msolv, agave-validator -l /mnt/ledger komutunun takma adıdır.
Bu ayar, RPC düğümünün dağıtımı sırasında ~/.profile dosyasına eklenir.SLV RPC Komutları
bash
Usage: slv rpc
Version: 0.9.700
Description:
🛠️ Manage Solana RPC Nodes 🛠️
Options:
-h, --help - Show this help.
Commands:
init - 🚀 Initialize a new RPC node configuration
deploy - 📦 Deploy RPC Nodes
list - 📋 List RPC Nodes
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 RPC Startup Config
update:geyser - ⚡️ Update Geyser Version
start - 🟢 Start RPC
stop - 🔴 Stop RPC
restart - ♻️ Restart RPC
cleanup - 🧹 Cleanup RPC - Remove Ledger/Snapshot Unnecessary Files
get:snapshot - 💾 Download Snapshot with aria2c
update:allowed-ips - 🛡️ Update allowed IPs for mainnet RPC nodesUsage: slv rpc
Version: 0.9.700
Description:
🛠️ Manage Solana RPC Nodes 🛠️
Options:
-h, --help - Show this help.
Commands:
init - 🚀 Initialize a new RPC node configuration
deploy - 📦 Deploy RPC Nodes
list - 📋 List RPC Nodes
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 RPC Startup Config
update:geyser - ⚡️ Update Geyser Version
start - 🟢 Start RPC
stop - 🔴 Stop RPC
restart - ♻️ Restart RPC
cleanup - 🧹 Cleanup RPC - Remove Ledger/Snapshot Unnecessary Files
get:snapshot - 💾 Download Snapshot with aria2c
update:allowed-ips - 🛡️ Update allowed IPs for mainnet RPC nodes