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.
RPC donanım gereksinimleri (genel kılavuz)
BileşenRPC DüğümüIndex RPC (referans)
CPU24 çekirdek+ @ 2.8GHz+ / AMD Gen3+ / Intel Ice Lake+ / SHA uzantıları / AVX232 çekirdek+ (yüksek saat hızı önerilir)
RAM512GB+1152GB+
DiskNVMe Gen3 x4 veya üzeri / Accounts / Ledger / Snapshots ayrımı önerilirDaha büyük kapasite + yüksek TBW / ayrım önerilir
Ağ1Gbps veya üzeri1Gbps veya üzeri (daha fazla bant genişliği tercih edilir)
GPUGerekli değilGerekli 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 Node
Henü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
❯ mainnet
Ardı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
Bu 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)

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

Kimlik 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

Solana CLI Seçimi

Solana CLI sürümünü seçin.
bash
? Select Solana CLI (jito)
  agave
❯ jito
  firedancer-agave
  firedancer-jito

RPC Türü Seçimi

RPC türünü seçin.
bash
? Select an RPC type
❯ Geyser gRPC
  Index RPC
  SendTx RPC
  Index RPC + gRPC
Bu 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
Ardı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 p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
bash
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 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 m
solv, 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 nodes