- Create comprehensive testnet roadmap with staged approach - Document Ed25519/Sr25519 fix learnings - Add VPS capacity analysis - Update CLAUDE.md to auto-load roadmap - Update SESSION_LOG.md with current progress
9.7 KiB
PUBLIC TESTNET ROADMAP - Staged Approach
Oluşturulma: 2026-01-24 Son Güncelleme: 2026-01-24 Durum: STAGE 1 - Internal Testnet (BAŞLAMADI)
🎯 HEDEF
21 validator + 4 collator ile public testnet başlatmak.
Yaklaşım: Staged Approach
- STAGE 1: Internal Testnet (bizim VPS'ler)
- STAGE 2: Public RPC
- STAGE 3: Community Validators
📚 ÖNCEKİ OTURUMLARDAN ÖĞRENMELER (KRİTİK!)
1. Ed25519 vs Sr25519 Key Scheme Sorunu (ÇÖZÜLDÜ ✅)
Problem: asset-hub-pezkuwichain-local yanlışlıkla Ed25519 kullanıyordu.
Kök Neden: Prefix matching hatası:
// HATALI: "asset-hub-pezkuwichain".starts_with("asset-hub-pezkuwi") = TRUE!
if id.starts_with("asset-hub-pezkuwi") { Ed25519 }
else if id.starts_with("asset-hub-pezkuwichain") { Sr25519 } // Hiç çalışmıyordu!
Çözüm: Uzun prefix'i ÖNCE kontrol et:
// DOĞRU: Önce uzun prefix
if id.starts_with("asset-hub-pezkuwichain") { Sr25519 }
else if id.starts_with("asset-hub-pezkuwi") { Ed25519 }
Düzeltilen Dosyalar:
pezcumulus/pezkuwi-teyrchain/src/chain_spec/mod.rs- RuntimeResolvervendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rsvendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/spawner.rs
Commit: f52eb30abb - "fix: correct Ed25519/Sr25519 key scheme detection for Asset Hub"
2. Zombienet Metric Timeout Sorunu
Problem: Network 80 saniye sonra kapanıyor.
🧟 One of the nodes crashed: alice: Timeout (5), waiting for metric process_start_time_seconds
Sebep: Zombienet health check timeout'u - node'lardan metric alamıyor.
ÖNEMLİ: Bu bir network/consensus sorunu DEĞİL! Network çalışıyor, sadece monitoring timeout yapıyor.
Çözüm Seçenekleri:
- Zombienet timeout değerlerini artır
- Systemd service ile deployment (zombienet yerine)
- Metric endpoint'lerini düzelt
3. VPS Build Sorunları
Problem: VPS2'de serde_core wasm build hatası.
error[E0152]: duplicate lang item in crate `alloc`: `exchange_malloc`
Geçici Çözüm: Local'de build edip binary'leri kopyala.
scp /home/mamostehp/pezkuwi-sdk/target/release/pezkuwi* root@VPS_IP:/root/pezkuwi-sdk/target/release/
Kalıcı Çözüm: Rust toolchain versiyonlarını senkronize et.
4. Config Path Sorunu
Problem: zombienet-local-21.toml içinde hardcoded path'ler var.
# YANLIŞ (local machine):
default_command = "/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi"
# DOĞRU (VPS):
default_command = "/root/pezkuwi-sdk/target/release/pezkuwi"
Çözüm: Her VPS için path'leri düzelt veya relative path kullan.
🖥️ VPS KAPASİTELERİ
| VPS1 | VPS2 | |
|---|---|---|
| IP | 37.60.230.9 | 62.146.235.186 |
| Hostname | - | merkez-server |
| CPU | 8 core | 16 core |
| RAM | 23 GB | 62 GB |
| Disk | 193 GB (115 GB boş) | 581 GB (520 GB boş) |
| SSH | ssh root@37.60.230.9 |
ssh root@62.146.235.186 |
Önerilen Node Dağılımı
| VPS | Validators | Asset Hub Collators | People Chain Collators |
|---|---|---|---|
| VPS1 | 7 | 1 | 1 |
| VPS2 | 14 | 1 | 1 |
| TOPLAM | 21 | 2 | 2 |
📋 STAGE 1: Internal Testnet
Ön Koşullar
- Ed25519/Sr25519 fix commit edildi
- 21 validator ile local test geçti
- VPS kapasiteleri kontrol edildi
- Binary'ler VPS'lere deploy edildi
1.1 Validator Key Oluşturma
Durum: ❌ BAŞLAMADI
Görevler:
- 21 validator için Sr25519 session key oluştur
- Key'leri güvenli şekilde sakla
- Her validator için ayrı keystore dizini
Komutlar:
# Session key oluştur
./target/release/pezkuwi key generate --scheme Sr25519 --output-type json
# Veya subkey ile
./target/release/pez-subkey generate --scheme Sr25519
Dosyalar:
mainnet/keys/validators-21-session-keys.json(GİTİGNORE'DA!)
1.2 Chain Spec Oluşturma
Durum: ❌ BAŞLAMADI
Görevler:
- Testnet chain spec adı belirle (
zagrosveyapezkuwichain-testnet) - Genesis config'i düzenle (validator listesi)
- Raw chain spec oluştur
Komutlar:
# Plain chain spec
./target/release/pezkuwi build-spec --chain pezkuwichain-local --disable-default-bootnode > testnet-plain.json
# Validator'ları ekle (genesis config düzenle)
# Raw chain spec
./target/release/pezkuwi build-spec --chain testnet-plain.json --raw > testnet-raw.json
1.3 Systemd Service Dosyaları
Durum: ❌ BAŞLAMADI
Görevler:
- Validator service template oluştur
- Collator service template oluştur
- Her VPS için service dosyalarını deploy et
Template: /etc/systemd/system/pezkuwi-validator@.service
[Unit]
Description=Pezkuwi Validator %i
After=network.target
[Service]
Type=simple
User=root
ExecStart=/root/pezkuwi-sdk/target/release/pezkuwi \
--chain /root/pezkuwi-sdk/testnet-raw.json \
--name validator-%i \
--validator \
--base-path /root/pezkuwi-data/validator-%i \
--port 3033%i \
--rpc-port 994%i \
--prometheus-port 961%i \
--telemetry-url "wss://telemetry.pezkuwichain.io/submit/ 1"
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
1.4 VPS Deployment
Durum: ❌ BAŞLAMADI
VPS1 Görevleri:
- Binary'leri kopyala
- Chain spec kopyala
- Keystore'ları kopyala (validator 1-7)
- Service dosyalarını kur
- Validator'ları başlat
- Collator'ları başlat
VPS2 Görevleri:
- Binary'leri kopyala
- Chain spec kopyala
- Keystore'ları kopyala (validator 8-21)
- Service dosyalarını kur
- Validator'ları başlat
- Collator'ları başlat
1.5 Bootnode Yapılandırması
Durum: ❌ BAŞLAMADI
Görevler:
- İlk validator'ü bootnode olarak belirle
- Bootnode peer ID'sini al
- Diğer node'lara bootnode bilgisini ekle
Komut:
# Peer ID öğren
./target/release/pezkuwi key inspect-node-key --file /root/pezkuwi-data/validator-1/chains/*/network/secret_ed25519
1.6 Network Test (24 Saat)
Durum: ❌ BAŞLAMADI
Kontrol Listesi:
- Tüm validator'ler peer'larını buluyor
- Block üretimi devam ediyor
- Finality çalışıyor (GRANDPA)
- Teyrchain'ler block üretiyor
- Hiçbir node crash olmuyor
- Memory leak yok
- Disk dolmuyor
📋 STAGE 2: Public RPC
2.1 RPC Node Kurulumu
Durum: ❌ BAŞLAMADI
Görevler:
- Validator OLMAYAN RPC node kur
--rpc-externalflag'i ekle--rpc-cors allflag'i ekle- Pruning ayarla (archive vs pruned)
2.2 Domain ve SSL
Durum: ❌ BAŞLAMADI
Görevler:
- Domain belirle (rpc.pezkuwichain.io?)
- DNS ayarla
- Nginx reverse proxy kur
- Let's Encrypt SSL sertifikası
2.3 Rate Limiting
Durum: ❌ BAŞLAMADI
Görevler:
- Nginx rate limiting
- IP başına istek limiti
- WebSocket bağlantı limiti
📋 STAGE 3: Community Validators
3.1 Dokümantasyon
Durum: ❌ BAŞLAMADI
Görevler:
- Validator kurulum rehberi
- Donanım gereksinimleri
- Session key oluşturma
- Staking süreci
3.2 Telemetry
Durum: ❌ BAŞLAMADI
Görevler:
- Telemetry backend kur
- telemetry.pezkuwichain.io domain
- Dashboard
3.3 Block Explorer
Durum: ❌ BAŞLAMADI
Seçenekler:
- Subscan self-hosted
- Polkadot.js Apps
- Custom explorer
3.4 Faucet
Durum: ❌ BAŞLAMADI
Görevler:
- Faucet backend
- Rate limiting (IP/hesap başına)
- Captcha
🔧 YARARLI KOMUTLAR
Binary'leri VPS'e Kopyala
# Tüm binary'ler
scp /home/mamostehp/pezkuwi-sdk/target/release/pezkuwi \
/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-teyrchain \
/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-zombienet \
root@VPS_IP:/root/pezkuwi-sdk/target/release/
VPS'te Repo Sync
ssh root@VPS_IP "cd /root/pezkuwi-sdk && git fetch origin && git reset --hard origin/main"
Process Kontrol
# Çalışan node'ları gör
ssh root@VPS_IP "pgrep -af pezkuwi"
# Hepsini durdur
ssh root@VPS_IP "pkill -9 -f pezkuwi"
Log Kontrol
# Systemd log
ssh root@VPS_IP "journalctl -u pezkuwi-validator@1 -f"
# Zombienet log
ssh root@VPS_IP "tail -f /tmp/zombienet-21.log"
Block Numarası Kontrol
curl -s -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getHeader","params":[],"id":1}' \
http://VPS_IP:9944 | jq '.result.number'
⚠️ BİLİNEN SORUNLAR VE ÇÖZÜMLER
1. "CannotSign" Hatası
Sebep: Key scheme mismatch (Ed25519 vs Sr25519) Çözüm: Fix zaten uygulandı (commit f52eb30abb)
2. "WASM binary was not built"
Sebep: SKIP_WASM_BUILD=1 ile build edilmiş Çözüm: WASM ile build et veya local'den kopyala
3. Metric Timeout (Zombienet)
Sebep: Node metric endpoint'e geç cevap veriyor Çözüm: Systemd ile deployment (zombienet bypass)
4. Path Hatası (VPS)
Sebep: Config'de /home/mamostehp/... path'leri var
Çözüm: /root/pezkuwi-sdk/... olarak değiştir
📅 ZAMAN ÇİZELGESİ (TAHMİNİ)
| Stage | Süre | Bitiş |
|---|---|---|
| STAGE 1.1-1.3 (Hazırlık) | 1-2 gün | - |
| STAGE 1.4-1.5 (Deployment) | 1 gün | - |
| STAGE 1.6 (24h Test) | 1-2 gün | - |
| STAGE 2 (Public RPC) | 1-2 gün | - |
| STAGE 3 (Community) | 1 hafta+ | - |
📝 DEĞİŞİKLİK GEÇMİŞİ
| Tarih | Değişiklik |
|---|---|
| 2026-01-24 | İlk versiyon oluşturuldu |
| 2026-01-24 | VPS kapasiteleri eklendi |
| 2026-01-24 | Ed25519/Sr25519 fix dokümante edildi |
Bu dosya SessionStart hook ile otomatik yüklenir. Her stage tamamlandığında güncelleyin!