Skip to Content
NetworkValidator Guide

Solidus Doğrulayıcı Kılavuzu

Solidus doğrulayıcı modeline bir kılavuz — solidus-node ikili dosyasının bugün gerçekten neyi desteklediği ve neyin hâlâ tasarım niyeti olduğu.


Güncel Durum — önce bunu okuyun

Üretim testnet’i (rpc.solidus.network) bugün tek bir Solidus tarafından işletilen süreç olarak çalışıyor. solidus-node dev-testnet --testnet-dir ... --rpc-port 9944 olarak başlar — tüm doğrulayıcı komitesini süreç-içi bir kanal (channel) taşıması üzerinden simüle eden TEK bir süreç; herkese açık internetten erişilebilen bağımsız olarak çalıştırılan makineler kümesi değil. Çok düğümlü P2P yolu (solidus-node run --consensus) ve doğrulama yapmayan tam düğüm yolu (solidus-node run --full-node) her ikisi de kod tabanında mevcuttur ve gelecekteki herkese açık bir doğrulayıcı yayılımının kullanacağı şeydir, ancak bugün dışarıdan katılınabilen dağıtılmış bir doğrulayıcı akışı yoktur.

Bu kılavuzun daha önce mevcut olarak tanımladığı bazı mekanizmalar henüz uygulanmadı. Aşağıdaki her bölüm buna göre işaretlenmiştir. Kısaca:

Burada anlatılanDurum
solidus-node ikili dosyası, gerçek alt komutları ve config.toml biçimi✅ Uygulandı — protocol/apps/consensus/crates/solidus-node’a karşı doğrulandı
10.000 SLDS minimum stake, 21 günlük unbonding✅ Zincir üzerinde uygulandı (solidus-txns)
Ücretlerin %70’i doğrulayıcılara (eşit bölünme), %20’si hazineye✅ Uygulandı (solidus-state/executor.rs), her blokta hesaplanır
Çift oy / çift öneri (equivocation) tespiti, doğrulanabilir kanıtla✅ Uygulandı
Tespit edilen bir equivocation’dan otomatik stake slashing🟡 Yol haritası — tespit kanıt üretir; stake azaltma işlemi henüz bağlanmadı
Çalışma süresi (uptime) takibi, çalışma süresine dayalı ödül/çıkarma❌ Uygulanmadı — düğümde veya zincir durumunda böyle bir takip yok
Kademeye göre ödül ağırlıklandırma (Çekirdek, Hafif’ten daha fazla kazanır)❌ Uygulanmadı — bugünkü bölünme, stake büyüklüğünden bağımsız olarak her aktif doğrulayıcı için eşittir
İtibar puanı sistemi (puanlar, eşikler)❌ Uygulanmadı — reputation statik bir alandır, hiçbir kod yolu tarafından ayarlanmaz
Stake/Unstake işlemi göndermek için bir CLI/SDK komutu❌ Yayınlanmadı — işlem türü zincir üzerinde var; henüz bunu oluşturan bir araç yok
Doğrulayıcı olmak için KYC/kimlik doğrulama şartı🟡 Yalnızca tasarım niyeti — stake veya konsensüs kodunun hiçbir yerinde uygulanmıyor
Prometheus metrik uç noktası❌ Dağıtılan ikili dosyada uygulanmadı
Yönetişim kontrol paneli / slashing itirazları❌ Uygulanmadı — bugün zincir üzerindeki tek “yönetişim”, ilgisiz bir compute-subnet izin listesidir

Neden Bir Doğrulayıcı Çalıştırmalı?

Doğrulayıcılar, Solidus ağının altyapı operatörleridir. Bloklar, işlemler, DID/kimlik bilgisi operasyonları ve (bağlandığında) kimlik doğrulama verimi, doğrulayıcı komitesinin çevrimiçi kalmasına bağlıdır.

Ücret paylaşımı. Doğrulayıcılar toplu olarak işlem ücretlerinin %70’ini alır, bu her bloğun sonunda hesaplanır. Bugün bu %70, tüm aktif doğrulayıcılar arasında eşit olarak bölünür — 1.000.000 SLDS stake eden bir doğrulayıcı, şu anda 10.000 SLDS minimumunu stake eden biriyle aynı blok başına payı kazanır. Çalışan kodda stake’e veya çalışma süresine ağırlıklandırılmış bir ödül formülü yoktur.

Yapısal olarak gereklidir. Merkeziyetsiz kimlik, merkeziyetsiz altyapı gerektirir. Ağa katılan her doğrulayıcı, dayanıklılığı, coğrafi kapsamı ve sansüre direnci artırır — ağ dışarıdan doğrulayıcıların katılmasını desteklediğinde (yukarıdaki Güncel Duruma bakın).

Yönetişim. Bugün uygulanan tek zincir üzerindeki “yönetişim”, ilgisiz bir compute-subnet izin listesini (ComputeAdmit/ComputeRemove) kapsar ve stake’ten bağımsız olarak her aktif doğrulayıcıya aynı şekilde davranır. Genel bir doğrulayıcıya yönelik yönetişim sistemi (öneriler, oylar, slashing itirazları) henüz mevcut değildir.


Doğrulayıcı Stake’i ve Donanım Profilleri

Protokol, zincir üzerinde tam olarak bir minimum stake uygular: 10.000 SLDS (solidus-txns içindeki MIN_STAKE). “Subnet” veya “Çekirdek” sınıfı için ayrı, protokol tarafından uygulanan bir stake minimumu yoktur ve minimumun üzerindeki stake büyüklüğü şu anda ödül payınızı veya konsensüs ağırlığınızı değiştirmez.

node.solidus.network’ün kendi donanım kılavuzu (node.solidus.network/docs/hardware), önerilen donanımı üç kendi kendine seçilen profile gruplar — Hafif, Subnet, Çekirdek — bir zincir üzerinde kural olarak değil, boyutlandırma rehberliği olarak:

ProfilÖnerilen stake (kendi kendine seçilir, uygulanmaz)Donanım rehberliği
Hafif10.000 SLDS (gerçek protokol minimumu)Mütevazı VPS
Subnet100.000 SLDSOrta seviye özel/bulut
Çekirdek1.000.000 SLDSVeri merkezi sınıfı, yedekli

Tüm profiller aynı solidus-node ikili dosyasını çalıştırır — ayrı bir hafif istemci yoktur ve yazılımın kendisinde bir profili diğerinden ayıran hiçbir şey yoktur.


Donanım Gereksinimleri

Bu rakamlar, node.solidus.network/docs/hardware’deki kanonik, her zaman güncel spesifikasyonu izler — güncel rakamlar için o sayfayı gerçek kaynak olarak kabul edin; aşağıdaki tablo bir anlık görüntüdür.

ResourceLightSubnetCore
CPU2–4 çekirdek4–8 çekirdek8–16 çekirdek
RAM2–4 GB8–16 GB16–32 GB
Depolama500 GB – 1 TB SSD1–2 TB NVMe2–4 TB NVMe
100 Mbps+250 Mbps+250 Mbps – 1 Gbps, herkese açık IPv4
Tahmini maliyet / ay$5–30$30–90$120–400
İşletim SistemiUbuntu 22.04 LTSUbuntu 22.04 LTSUbuntu 22.04 LTS

Referans örnekler (canlı liste için node.solidus.network/docs/hardware’e bakın): Hafif — Hetzner CX22 ($5.40/ay, 2 vCPU · 4 GB); Subnet — Hetzner CCX23 ($32/ay, 4 dCPU · 16 GB); Çekirdek — Hetzner CCX43 veya $120–400/ay aralığında eşdeğer özel bir NVMe örneği.

Çalışma Süresi — 🟡 bugün protokol tarafında bir uygulama yok

Şu anda solidus-node’da veya zincir durumunda hiçbir yerde çalışma süresi takip kodu yoktur — kesinti için ne otomatik bir ödül cezası ne de komiteden otomatik çıkarma vardır. Düğümünüzü çevrimiçi tutmak iyi bir işletim meselesidir, protokolün henüz bunu ölçtüğü veya cezalandırdığı için değil.


Yazılım Kurulumu

Adım 1: Solidus Düğümünü Kurun

# Solidus düğüm ikili dosyasını indirin curl -sSL https://releases.solidus.network/install.sh | bash # Kurulumu doğrulayın solidus-node --version

Yükleyici, imzalı bir manifestoyu releases.solidus.network/stable/latest.json adresinden alır, betiğe gömülü bir yayın anahtarına karşı Ed25519 imzasını doğrular, işletim sisteminiz/mimariniz için ikili dosyayı indirir, SHA-256’sını (imzalı) manifestoya karşı kontrol eder ve herhangi bir kontrol başarısız olursa hiçbir şey kurmadan durur.

Elle kurulum için, manifesto her desteklenen hedef için ham, mimariye özel bir yürütülebilir dosya listeler (x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu) — bir .tar.gz arşivi yoktur:

# Güncel sürümü + ikili dosya URL'lerini imzalı manifestodan okuyun curl -s https://releases.solidus.network/stable/latest.json # Mimariniz için ikili dosyayı indirin (URL yukarıdaki manifestodan gelir) wget https://releases.solidus.network/bin/v0.1.0/solidus-node-x86_64-unknown-linux-gnu chmod +x solidus-node-x86_64-unknown-linux-gnu sudo mv solidus-node-x86_64-unknown-linux-gnu /usr/local/bin/solidus-node

Adım 2: Gerçek solidus-node CLI’ı

solidus-node (protocol/apps/consensus/crates/solidus-node’dan derlenir) altı alt komuta sahiptir — bu, main.rs’ye karşı doğrulanmış eksiksiz listedir:

solidus-node genesis -n <validators> -o <dir> --chain-id <id> # bir devnet'in genesis.json'ını + validator-N/ dizinlerini + anahtarlarını üretir solidus-node run --config <config.toml> [--consensus] [--full-node] # doğrulayıcı olarak çalıştırın (veya --full-node ile doğrulama yapmayan tam düğüm olarak) solidus-node dev-testnet --testnet-dir <dir> --rpc-port <port> --rpc-host <host> # tüm bir N-doğrulayıcılı devnet'i TEK bir süreçte çalıştırır (canlı testnet'in çalıştırdığı budur) solidus-node peer-id --key <node.key> # bir node.key dosyasından türetilen libp2p PeerId'sini yazdırır solidus-node canon-dump --config <config.toml> # kanonik ledger indeksini döker (düğüm durdurulmuş olmalıdır) solidus-node sign-transfer --key <key> --to <address> --amount <n> --nonce <n> # bir Transfer işlemi oluşturur + imzalar, JSON olarak yazdırır

Alt komut olmadan solidus-node çalıştırmak eski (legacy) tek düğümlü moda düşer (run --config config.toml ile eşdeğerdir). Bu ikili dosyada keygen, start veya validator alt komutu yoktur — bunlar mevcut değildir.

solidus-node genesis -n 4 -o ./testnet, genesis.json, treasury.key, faucet.key yazar ve her biri node.key (Ed25519, hex), bls.key (BLS12-381, hex) ve üretilmiş bir config.toml içeren doğrulayıcı başına bir validator-N/ dizini oluşturur.

Anahtar dosyalarınızı hemen yedekleyin. node.key veya bls.key’i kaybetmek, doğrulayıcı kimliğinize ve stake edilen SLDS’ye erişiminizi kaybetmek anlamına gelir. Yedekleri şifrelenmiş ve çevrimdışı saklayın.

Adım 3: Gerçek yapılandırma biçimi

Çok düğümlü yapılandırmalar bir [node] tablosu, sıfır veya daha fazla [[peers]] girdisi ve en üst düzey bir bootstrap_peers dizisi kullanır (bu, [node] başlığından önce görünmelidir — TOML, bir tablo başlığından sonraki çıplak bir anahtarı o tabloya ayrıştırır):

bootstrap_peers = [] # isteğe bağlı Kademlia bootstrap multiaddr'ları, örn. "/ip4/1.2.3.4/tcp/30300/p2p/<peerid>" [node] chain_id = "solidus-testnet-1" listen_port = 30300 # P2P (libp2p) portu data_dir = "./data" genesis = "../genesis.json" ed25519_key = "node.key" bls_key = "bls.key" rpc_port = 9944 rpc_listen = "127.0.0.1" # "0.0.0.0" yalnızca ters proxy arkasında — RPC'nin yerleşik kimlik doğrulaması yoktur node_index = 0 # bu doğrulayıcının komitedeki indeksi full_node = false # true = asla öneri/oy vermez, yalnızca senkronize eder + RPC sunar [[peers]] index = 1 peer_id = "12D3Koo..." # libp2p PeerId, `solidus-node peer-id --key validator-1/node.key`'den address = "/ip4/127.0.0.1/tcp/30301"

tier, [consensus] subnets, [storage], [api] veya [metrics] tablosu yoktur — bu anahtarlar gerçek NodeConfig/MultiNodeConfig yapılarında mevcut değildir.

Adım 4: Düğümü Başlatın

cat > /etc/systemd/system/solidus-node.service << 'EOF' [Unit] Description=Solidus Network Node After=network.target Wants=network.target [Service] Type=simple User=solidus Group=solidus ExecStart=/usr/local/bin/solidus-node run --config /etc/solidus/config.toml --consensus Restart=always RestartSec=10 LimitNOFILE=65536 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable solidus-node systemctl start solidus-node # Durumu kontrol edin systemctl status solidus-node journalctl -u solidus-node -f

Adım 5: Senkronizasyonu Doğrulayın

RPC sunucusu yalnızca HTTP POST üzerinden JSON-RPC 2.0’dır (jsonrpsee aracılığıyla) — REST GET /status rotası yoktur. Düğüm sağlığını solidus_nodeInfo ve solidus_chainInfo ile kontrol edin:

curl -s -X POST http://127.0.0.1:9944 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"solidus_nodeInfo","params":[]}' # {"jsonrpc":"2.0","id":1,"result":{"version":"0.1.0","uptime_seconds":1264674,"rss_bytes":203296768}} curl -s -X POST http://127.0.0.1:9944 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"solidus_blockNumber","params":[]}'

Senkronize olduğunuzu doğrulamak için solidus_blockNumber sonucunuzu herkese açık rpc.solidus.network’ünkiyle karşılaştırın.


Stake Etme ve Kayıt

solidus-txns, zincir üzerinde bir Stake/Unstake işlem türü tanımlar ve solidus-state’in yürütücüsü bunun üzerinde 10.000 SLDS minimumunu ve 21 günlük unbonding süresini uygular. Henüz bunu oluşturan bir CLI veya SDK komutu yoktursolidus-node’un tek işlem imzalama alt komutu sign-transfer’dır (yalnızca Transfer) ve TypeScript SDK bir stake yardımcı işlevi sunmaz. Bunu destekleyen bir ağa karşı yeni bir dış doğrulayıcı kurmak — yukarıdaki Güncel Durum’da anlatılan dışarıdan katılınabilir yol yayınlandığında — önce bu araçların inşa edilmesini gerektirecektir. Kodda bugün 24 saatlik bir “etkinleştirme gecikmesi” veya benzeri bir bekleme durumu yoktur: bir doğrulayıcının active bayrağı, bir Stake işlemi yürütüldüğü anda ayarlanır.

Unstake Etme

Unstake etme, bir yönetişim kontrol paneli aracılığıyla bir istek değil, doğrudan zincir üzerinde bir Unstake işlemidir (böyle bir kontrol paneli yoktur). Birini göndermek, stake’inizi 21 günlük bir unbonding süresine sokar (UNBONDING_PERIOD_MS), bu süre boyunca hiçbir ödül kazanmaz; 21 gün sonra yürütücü, bunun harcanabilir bakiyenize dönmesine izin verir.


İzleme

Bugün gerçek olan

  • solidus_nodeInfo — süreç sürümü, saniye cinsinden çalışma süresi, kullanılan bellek (rss_bytes).
  • solidus_chainInfo — zincir kimliği, yerel token meta verisi, genesis hash’i, en son blok yüksekliği, düğüm sürümü.
  • solidus_blockNumber / solidus_getLatestBlock / solidus_canonHead — senkronizasyon ilerlemesi.
  • solidus_getValidators / solidus_getValidatorStake — komite üyeliği ve stake.
  • Günlüklertracing tabanlı yapılandırılmış günlükler; journalctl -u solidus-node -f.

🟡 Yol haritası — dağıtılan ikili dosyada yok

Bir Prometheus /metrics uç noktası yoktur ve protocol/apps/consensus/crates/solidus-node içinde hiçbir yerde adlandırılmış metrik (solidus_uptime_seconds, solidus_peer_count vb.) yoktur. Bu yayınlanana kadar günlük tabanlı veya RPC’yi yoklayan uyarı kurun.


Slashing

Bugün gerçek olan

solidus-consensus ve solidus-hotstuff2’nin her ikisi de equivocation tespitini uygular: aynı turda/görünümde iki çelişen oy imzalayan (veya HotStuff-2’de iki çelişen öneri imzalayan) bir doğrulayıcı yakalanır ve iki imzalı mesaj, kendi kendine yeten, bağımsız olarak doğrulanabilir bir kanıt halinde paketlenir (suçlanan doğrulayıcının kendi komite anahtarına karşı kontrol edilir).

🟡 Yol haritası — henüz bağlanmadı

Bir equivocation’ı yakalamak, suçlu doğrulayıcının stake’ini şu anda azaltmaz. solidus-hotstuff2 slashing modülünün kendi yorumu bu konuda açıktır: solidus-txns bugün bir Slash işlem yükü içermez, bu yüzden doğrulanmış kanıtı gerçek bir stake azaltmaya dönüştürmek, henüz verilmemiş bir kurucu kararıdır (yeni bir yerel yük veya bir yönetişim eylemi). Çalışma süresine dayalı bir slashing veya çıkarma da yoktur — hiç çalışma süresi takibi yoktur (yukarıdaki Donanım Gereksinimleri’ne bakın). Bu yayınlanana kadar herhangi bir belirli slashing yüzdesini veya kurtarma sürecini karara bağlanmamış sayın.

Her durumda aynı anahtarla iki solidus-node örneğini asla çalıştırmayın — bu, yukarıdaki dedektörün tam olarak yakalamak üzere kurulduğu equivocation kalıbıdır.


Düğümünüzü Yükseltme

# Güncel sürümü + ikili dosya URL'lerini kontrol edin curl -s https://releases.solidus.network/stable/latest.json # Düğümü nazikçe durdurun systemctl stop solidus-node # İkili dosyayı değiştirin (indirme/doğrulama adımları için yukarıdaki Adım 1'e bakın) sudo mv solidus-node-x86_64-unknown-linux-gnu /usr/local/bin/solidus-node # Düğümü başlatın systemctl start solidus-node solidus-node --version

Büyük protokol yükseltmeleri, mainnet yönetişimi var olduğunda doğrulayıcıların bir pencere içinde yükseltme yapmasını gerektirecektir; bugün böyle bir uygulama mekanizması yoktur.


Ekonomi

Ücretler bugün gerçekte nasıl dağıtılıyor

Her blokta, solidus-state’in yürütücüsü o blokta toplanan tüm ücretleri hesaplar:

  • %20 protokol hazinesine.
  • %70, aktif doğrulayıcı kümesindeki her adrese eşit olarak bölünür — stake büyüklüğüne, çalışma süresine veya herhangi bir itibar puanına göre ağırlıklandırılmaz.
  • Kalan (~%10) ödenmez (zımnen yakılır; canlı zincir bunun için bir sayaç tutmaz).

Kodda 7 günlük bir “dönem” (epoch) ödül döngüsü yoktur — ücretler her blokta hesaplanır. Bir doğrulayıcı kaydındaki reputation alanı mevcuttur (bir Stake işlemi ile stake eden bir doğrulayıcı için 1000 olarak, bugün canlı zincirde genesis ile tohumlanan doğrulayıcılar için 0 olarak gözlemlenmiştir) ancak hiçbir kod yolu bunu ayarlamaz — henüz anlatılacak bir itibar puanlama sistemi yoktur.

Ağ testnet’teyken somut SLDS ödül rakamları yayınlanmıyor — testnet SLDS’nin parasal bir değeri yoktur ve yukarıdaki eşit bölünme mekanizması, kârlılığın stake büyüklüğünüze değil, kaç başka doğrulayıcının aktif olduğuna bağlı olduğu anlamına gelir. Mainnet’e kadar herhangi bir belirli $/ay ödül tahminini spekülatif kabul edin.


SSS

S: Birden çok doğrulayıcı çalıştırabilir miyim? Stake işleminin kodda bugün bir kimlik-bağlama gereksinimi yoktur — “bir insan, bir doğrulayıcı” bir tasarım niyetidir (Solidus’un “Kimlik Kanıtı” uygunluk kavramına bakın), henüz zincir üzerinde uygulanan bir şey değil.

S: SLDS’imin stake’ini çözebilir miyim? Evet, bir Unstake işlemi aracılığıyla (yukarıdaki Stake Etme ve Kayıt bölümüne bakın). SLDS’nizin kilitlendiği ve hiçbir ödül kazanmadığı 21 günlük bir unbonding süresi vardır. 21 gün sonra harcanabilir bakiyenize döner.

S: Slashing edilirsem stake’ime ne olur? Henüz geçerli değil — yukarıdaki Slashing bölümüne bakın. Tespit ve kanıt mevcut; stake azaltma adımı mevcut değil.

S: Statik bir IP adresine ihtiyacım var mı? Düğümün buna yönelik yerleşik bir gereksinimi yoktur. Gerçek P2P eşleriyle çok düğümlü --consensus veya --full-node yolunu çalıştırdığınızda statik bir IP ve herkese açık bir port genellikle eş bağlantısını iyileştirir.

S: Evimden bir doğrulayıcı çalıştırabilir miyim? Kararlı bir bağlantıda bir Hafif profil için evet. Subnet ve Çekirdek profilleri, bu donanım rehberliği kademelerinin varsaydığı bant genişliği ve çalışma süresi göz önüne alındığında özel donanım veya bir veri merkezine daha uygundur.

S: Bir doğrulayıcı olmak için minimum KYC seviyesi nedir? Kodda bugün hiçbiri uygulanmıyor. Doğrulama yapmak için kimlik doğrulaması gerektirmek, Solidus’un uzun vadeli “Kimlik Kanıtı” tasarım niyetinin bir parçasıdır, şu anda stake işleminin veya konsensüs motorunun kontrol ettiği bir şey değil.

S: Mainnet ne zaman başlıyor? Solidus Yol Haritasına bakın (docs/roadmap.md).


Destek

  • Kaynak + sorunlar: github.com/solidusnetwork/protocol — bu kılavuzun anlattığı düğüm/konsensüs kodunun herkese açık aynası; GitHub Issues orada açık.
  • Doğrulayıcı Kontrol Paneli: henüz canlı değil (validators.solidus.network şu anki yüzey envanterinde değil).
  • Dokümantasyon: bu kılavuz ve node.solidus.network/docs/hardware.
  • Acil durum: [email protected] (yalnızca slashing veya kritik sorunlar için).

Solidus şu anda bir Discord veya başka bir gerçek zamanlı sohbet işletmiyor — bir sohbet topluluğu bağlantısı yerine güncellemeler için yukarıdaki GitHub deposunu veya dokümantasyon sitesini kontrol edin.

Last updated on