Solana Testnet Validator - Hızlı başlangıç
Kurulum ve Validatörün Başlatılması
bash
curl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deploycurl -fsSL https://storage.slv.dev/slv/install | sh
slv validator init
slv validator deploySolana Testnet Firedancer Validatörünü Dağıtın
🚀 Ön Koşullar
Lütfen Ubuntu 24.04 LTS'nin temiz kurulduğu bir sunucu hazırlayın.
🔑 Anahtarların Kullanımı Hakkında
Yeni SLV Firedancer kurulumlarında güvenlik için başlangıçta kimlik anahtarı olarak her zaman unstaked-keypair.json kullanılır.
Bu, çift oylama gibi kritik sorunları önlemek için en iyi uygulamadır.
✅ Dağıtımdan Sonra Kimlik Ayarı
Dağıtımdan sonra, yetkili kimlik anahtarını mutlaka aşağıdaki komutla ayarlayın:
bash
slv v set:identity -n testnet --pubkey <name>slv v set:identity -n testnet --pubkey <name>Testnet için Bare Metal Sunucu Hazırlama
Solana düğümlerini VPS veya sanal makinelerde (VM) çalıştırmak mümkün olsa da pratikte en iyi performansı ve kararlılığı elde etmek zordur. Solana, sanallaştırılmış ortamlara göre çok daha yüksek performans sunan bare metal sunucuların kullanılmasını resmi olarak önerir.
Testnet ortamlarının yükü mainnet'e göre daha düşük olduğundan, 16 çekirdekli Ryzen CPU ve 128GB DDR5 RAM'e sahip sunucularla kararlı çalıştığını doğruladık. Bu sunucu yapılandırması işletim maliyetlerini düşürmeye yardımcı olduğu için önerilir.
slv v init komutunu çalıştırdığınızda, bare metal sunucunuzun kurulu olup olmadığı sorulur:bash
➜ slv v init
? Select Solana Network (testnet) › testnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
no➜ slv v init
? Select Solana Network (testnet) › testnet
? 🛡️ Do you have a Solana Node Compatible Server? (no)
❯ yes
noBu kılavuz
yes seçtiğinizi varsayar.Henüz bare metal sunucunuzu hazırlamadıysanız kurulumu tamamlamak için lütfen şu kılavuza bakın: Bare Metal Sunucu Kurulum Kılavuzu.
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? What's the user for the server? (ubuntu) › ubuntuSunucunun IP Adresini Girin
Sunucunun IP adresini girin.
bash
? What's the IP address of the server? ›? 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.
Şu anda yalnızca varsayılan yol desteklendiğinden lütfen olduğu gibi ayarlayın.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 succeededArdından SLV sunucuya bağlantıyı kontrol eder. Bağlantı başarılı olursa bir sonraki adıma geçmeniz istenir.
Solana Validatör Türünü Seçin
Solana validatörünün türünü seçin.
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-jitoSolana 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-test" 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 › TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp
? Enter Inventory Name (TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp) › epics-test
⚠️ Please place your identity key in
~/.slv/keys/TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp.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 › TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp
? Enter Inventory Name (TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp) › epics-test
⚠️ Please place your identity key in
~/.slv/keys/TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp.json
.
.
✔︎ Success
✔ Inventory updated to ~/.slv/inventory.yml
✔ Successfully created solv user on x.x.x.xLütfen kimlik anahtarınızı
~/.slv/keys/<your-pubkey>.json konumuna yerleştirin. Ardından SLV, bir parola kullanarak solv kullanıcısını oluşturur.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
📍 Measuring latencies from x.x.x.x to testnet regions...
Pinging Dallas (dallas.testnet.block-engine.jito.wtf)...
Pinging New York (ny.testnet.block-engine.jito.wtf)...
✅ New York: 74.341 ms
✅ Dallas: 114.722 ms
🎯 Nearest region: 🇺🇸 New York
Latency: 74.341 ms
Block Engine: https://ny.testnet.block-engine.jito.wtf
Shred Receiver: 64.130.35.224:1002
Relayer: http://ny.testnet.relayer.jito.wtf:8100
NTP Server: ntp.dallas.jito.wtf📍 Measuring latencies from x.x.x.x to testnet regions...
Pinging Dallas (dallas.testnet.block-engine.jito.wtf)...
Pinging New York (ny.testnet.block-engine.jito.wtf)...
✅ New York: 74.341 ms
✅ Dallas: 114.722 ms
🎯 Nearest region: 🇺🇸 New York
Latency: 74.341 ms
Block Engine: https://ny.testnet.block-engine.jito.wtf
Shred Receiver: 64.130.35.224:1002
Relayer: http://ny.testnet.relayer.jito.wtf:8100
NTP Server: ntp.dallas.jito.wtfSolana 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>? Do you want to create a new vote account key now? (Y/n) › No
? Please Enter Your Vote Account Public Key > <your-vote-account>Yapılandırma artık
~/.slv/inventory.testnet.validators.yml dosyasına kaydedildi.Validatörü Dağıtın
Yapılandırmayı onayladığınızda dağıtım başlar.
bash
slv v deploy -n testnetslv v deploy -n testnetİlk olarak yapılandırma onayı görüntülenir.
Devam etmek için Yes seçeneğini seçin.
bash
Your Testnet Validators Settings:
┌────────────────┬──────────────────────────────────────────────┐
│ Identity Key │ TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp │
├────────────────┼──────────────────────────────────────────────┤
│ Vote Key │ 6XdQ6szHJjm1t3XbgahSS6WVEhsrs5fniZbLgfkN1QWn │
├────────────────┼──────────────────────────────────────────────┤
│ Authority Key │ authAccount │
├────────────────┼──────────────────────────────────────────────┤
│ IP │ x.x.x.x. │
├────────────────┼──────────────────────────────────────────────┤
│ Validator Type │ jito │
├────────────────┼──────────────────────────────────────────────┤
│ Version │ 3.0.7-jito │
└────────────────┴──────────────────────────────────────────────┘
? Do you want to continue? (Y/n) › YesYour Testnet Validators Settings:
┌────────────────┬──────────────────────────────────────────────┐
│ Identity Key │ TKMNqvfwb7PKkc9KFEJJ8EaNK9s5XjNWgFS6oyqSLkp │
├────────────────┼──────────────────────────────────────────────┤
│ Vote Key │ 6XdQ6szHJjm1t3XbgahSS6WVEhsrs5fniZbLgfkN1QWn │
├────────────────┼──────────────────────────────────────────────┤
│ Authority Key │ authAccount │
├────────────────┼──────────────────────────────────────────────┤
│ IP │ x.x.x.x. │
├────────────────┼──────────────────────────────────────────────┤
│ Validator Type │ jito │
├────────────────┼──────────────────────────────────────────────┤
│ Version │ 3.0.7-jito │
└────────────────┴──────────────────────────────────────────────┘
? Do you want to continue? (Y/n) › Yesİş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 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.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 testnet --pubkey epics-testslv v set:identity -n testnet --pubkey epics-testBu komut, kimlik anahtarını yerel bilgisayarınızdaki şu konumdan ayarlar:
~/.slv/keys/<name>.jsonFiredancer'ı Yeniden Başlatın
Validatörde herhangi bir sorun yaşarsanız, aşağıdaki komutla firedancer'ı yeniden başlatabilirsiniz.
--rm seçeneği validatörü durdurur, ledger ve snapshot dizinlerini siler, snapshot finder ile bir snapshot indirir ve ardından validatörü başlatır.bash
slv v restart -n testnet --pubkey <name> --rmslv v restart -n testnet --pubkey <name> --rmSLV 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 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