Solana Mainnet Validator - Hızlı başlangıç

Giriş

Solana mainnet validatörünü dağıtmak için SLV komut satırı aracını kullanacaksınız. Bu hızlı başlangıç kılavuzu, hot spare olarak bir mainnet validatörünün nasıl başlatılıp dağıtılacağını açıklar.
Sunucunuzda temiz kurulmuş Ubuntu 24.04 LTS bulunmalıdır.

Bare Metal Sunucu Hazırlama

Solana düğümünü VPS veya sanal makinelerde (VM) çalıştırmak mümkün olsa da en iyi performansı ve kararlı bir işletimi elde etmek zordur. Solana resmi olarak bare metal sunucuların kullanılmasını önerir.
Mainnet validatörleri, ağ yoğunluğu sırasında da kararlı kalacak şekilde hazırlanmalıdır.
Aşağıda resmi Solana / Agave / Firedancer belgelerine dayanan bir kılavuz yer almaktadır.

Agave Validator (resmi gereklilikler ve öneriler)

SOL gereksinimleri
  • Her epoch sınırında Oy Hesabı, en az rent-exempt asgari tutarı artı bir Validator Admission Ticket kadar bakiye tutmalıdır (slot süresi ayarı 200 ms iken 0.8 SOL)
  • Validator Admission Ticket, her epoch'un ilk blokunda Oy Hesabı'ndan düşülür
  • rent-exempt asgari tutarını solana rent 3762 ile kontrol edin (3762, Oy Hesabı'nın bayt cinsinden boyutudur)
  • Identity Key artık oy başına ücret ödemez — Alpenglow'da oylar artık işlem olarak gönderilmez
Donanım gereksinimleri (genel kılavuz)
BileşenValidatörRPC Düğümü (referans)
CPU2.8GHz+ / AMD Gen3+ / Intel Ice Lake+ / SHA uzantıları / AVX216 çekirdek / 32 iş parçacığı+
RAM256GB+512GB+
DiskNVMe Gen3 x4 veya üzeri / Accounts-Ledger-Snapshots ayrımı önerilirDaha büyük kapasite önerilir
GPUGerekli değilGerekli değil
Not:
Saat hızı ve efektif işlem kapasitesi, çekirdek sayısından daha önemli kabul edilir.

Firedancer (Frankendancer)

Firedancer (Frankendancer) şu anda Agave'ye bağlı olduğundan,
en azından Agave için önerilen yapılandırmayı veya daha üstünü esas alır.
Minimum
  • 24 çekirdekli CPU @ >2.8GHz
  • 256GB RAM
  • 2TB NVMe (High TBW)
Önerilen
  • 32 çekirdekli CPU @ >3GHz (AVX512 destekli)
  • 512GB RAM (ECC)
  • Accounts / Ledger ayrımı
  • 1Gbps veya üzeri ağ bant genişliği
Maliyet-performans dengesi iyi bir kurulum için 24 çekirdekli CPU ve 384GB RAM ile Agave pratik bir ölçüttür.
slv v init komutunu çalıştırdığınızda, bare metal sunucunuzun kurulu olup olmadığı sorulur:
bash
➜ slv v init
? Select Solana Network (testnet) › mainnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
  no
Bu kılavuz yes seçtiğinizi varsayar.
Henüz bare metal sunucunuzu hazırlamadıysanız lütfen şu kılavuza bakın: Bare Metal Sunucu Kurulum Kılavuzu.
Ayrıca şu kaynakları da faydalı bulabilirsiniz:

Solana Mainnet Firedancer Jito Validatörünü Dağıtma

Yeni SLV kurulumlarında kimlik anahtarı olarak her zaman unstaked-keypair.json kullanılır. Bu, çift oylamayı ve diğer sorunları önlemeye yönelik en iyi uygulamadır.
Bu nedenle dağıtımdan sonra yetkili kimlik anahtarını ayarlamak için lütfen slv v set:identity komutunu kullanın.
Çoğu mainnet validatör operasyonunda kimlik anahtarını değiştirmek için slv v switch komutunu kullanırsınız. Kesintisiz taşıma için lütfen bu kılavuza bakın.

Solana Ağı Seçimi

Dağıtmak istediğiniz Solana ağını seçin.
bash
slv v init
? Select Solana Network (mainnet)
  testnet
❯ mainnet

Sunucunun Varsayılan Kullanıcı Adını Girin

Varsayılan kullanıcı adı çoğunlukla ubuntu veya root olur.
bash
? What's the user for the server? (ubuntu) › ubuntu

Sunucunun IP Adresini Girin

Sunucunun IP adresini girin.
bash
? What's the IP address of the server? ›

SSH için RSA Anahtarını Ayarlayın

※ Lütfen RSA anahtarınızın yolunu ayarlayın. Varsayılan yol ~/.ssh/id_rsa şeklindedir.
bash
? What's the path to your RSA key? (~/.ssh/id_rsa) › ~/.ssh/id_rsa
🔍 Checking SSH connection...
✔︎ SSH connection succeeded
Ardından SLV sunucuyla bağlantıyı kontrol eder. Bağlantı başarılı olursa bir sonraki adım gösterilir.

Solana Validatör Türü Seçimi

Solana validatörünün türünü seçin.
bash
? Select Validator Type (firedancer-jito)
  agave
  jito
  jito-bam
  firedancer-agave
❯ firedancer-jito

Komisyon Oranını Ayarlayın

Validatörünüz için komisyon oranını ayarlayın. ※ 1000, %10'a eşittir.
bash
? Enter Commission BPS (Max 1000 = 10%) (1000)

Solana Validatör Kimlik Anahtarını Oluşturun veya Ayarlayın

Yeni bir kimlik anahtarı oluşturabilir veya mevcut bir kimlik anahtarı ayarlayabilirsiniz. Bu örnek, "epics-sub" adıyla mevcut bir kimlik anahtarının nasıl ayarlanacağını gösterir.
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
Lütfen kimlik anahtarınızı ~/.slv/keys/<your-pubkey>.json konumuna yerleştirin.

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
✔ 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 Validatör Oy Hesabı Anahtarını Oluşturun veya Ayarlayın

Yeni bir oy hesabı anahtarı oluşturabilir veya mevcut bir oy hesabı anahtarını ayarlayabilirsiniz. Bu örnek, mevcut bir oy hesabı anahtarının nasıl ayarlanacağını gösterir.
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>
Validatör düğümü bilgileri ~/.slv/inventory.mainnet.validators.yml dosyasına kaydedilir.
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

Validatörü Dağıtın

Yapılandırmayı onayladığınızda dağıtım başlar.
bash
slv v deploy -n mainnet -p epics-sub
bash
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 m
İşlem tamam! Solana validatörü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ü içinde hata ayıklama ve izleme yapabilirsiniz. Solana RPC düğümünün durumunu aşağıdaki komutlarla kontrol edebilirsiniz:
bash
$ 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.

Kimlik Anahtarını Değiştirin

Dağıtımdan sonra unstaked anahtarı yetkili kimlik anahtarıyla değiştirmeniz gerekir.
bash
slv v set:identity -n mainnet --pubkey epics-sub
Bu komut, kimlik anahtarını yetkili kimlik anahtarıyla değiştirir.
※ Kesintisiz taşıma için lütfen bu kılavuza bakın.

SLV Validatör Komutları

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 Migration