- Replace all kusama/Kusama references with dicle/Dicle - Rename weight files from ksm_size to dcl_size - Update papi-tests files from ksm to dcl - Remove chain-specs/kusama.json files - cargo check --workspace successful (Finished output) - Update MAINNET_ROADMAP.md: FAZ 8 completed
19 KiB
PEZKUWI MAINNET ROADMAP
Oluşturulma: 2026-01-01 Son Güncelleme: 2026-01-02 Hedef: %100 Mainnet Hazırlık Tahmini Süre: Faz bazlı ilerleme
NETWORK PARAMETRELERI
| Parametre | Değer |
|---|---|
| Validators (Mainnet) | 21 |
| System Teyrchains | Asset Hub + People Chain |
| Relay Token | HEZ (DOT ile aynı ekonomi, inflationary) |
| Asset Hub Token | PEZ (5B sabit arz, genesis'te mint) |
| Audit | Internal review (Polkadot SDK fork) |
FAZ 0: MEVCUT DURUM ANALİZİ ✅ TAMAMLANDI
Runtime Compile Durumu:
- pezkuwichain-runtime (Relay Chain) ✅
- zagros-runtime (Testnet) ✅
- asset-hub-pezkuwichain-runtime ✅
- people-pezkuwichain-runtime ✅
Token Economics Durumu:
HEZ Token (Relay Chain) ✅ KODLANDI
Total Genesis: 200,000,000 HEZ
├── Founder: 10% = 20,000,000 HEZ
├── Presale: 50% = 100,000,000 HEZ
├── Treasury: 20% = 40,000,000 HEZ
└── Airdrop: 20% = 40,000,000 HEZ
Dosya: pezkuwi/runtime/pezkuwichain/src/genesis_config_presets.rs
Compile-time validation: ✅
Real addresses: ✅ (founder_governance.json'dan)
PEZ Token (Asset Hub) ✅ KODLANDI
Total Supply: 5,000,000,000 PEZ
├── Treasury: 20.25% = 1,012,500,000 PEZ
├── Founder: 1.875% = 93,750,000 PEZ
├── Presale: 1.875% = 93,750,000 PEZ
└── Rewards Pool: 76.00% = 3,800,000,000 PEZ (sentetik halving)
Dosya: pezcumulus/teyrchains/runtimes/assets/asset-hub-pezkuwichain/src/genesis_config_presets.rs
Compile-time validation: ✅
wHEZ Asset ID: 2
Genesis Presets Durumu:
- "genesis" - Mainnet preset ✅
- "development" - Dev preset ✅
- "local_testnet" - Local preset ✅
- "pezstaging_testnet" - Staging preset ✅
Crates.io Yayın Durumu:
- Toplam yayınlanan: ~516 crate ✅
- pezkuwi-sdk umbrella: v0.1.1 ✅
- pezkuwi-zombienet-sdk: v0.44.0 ✅
FAZ 1: KOD TAMAMLAMA ✅ TAMAMLANDI
1.1 Compile Hataları ✅
- teyrchain-template-runtime düzeltildi
- Tüm workspace
cargo checkgeçiyor cargo clippy --workspacetemiz (-D warnings ile)
1.2 Macro ve Supertrait Düzeltmeleri ✅
Kalıcı çözümler uygulandı (geçici bypass yok):
is_using_frame_crate()→pezframevepezkuwi_sdkkontrol ediyorget_frame_crate_path()→pezframecrate'i buluyordisable_pezframe_system_supertrait_checkattribute'ları kaldırıldı- Test path'leri
pezframe::olarak güncellendi
Düzeltilen dosyalar:
bizinikiwi/pezframe/support/procedural/tools/src/lib.rsbizinikiwi/pezframe/support/procedural/src/pezpallet/parse/config.rsdocs/sdk/src/reference_docs/frame_pallet_coupling.rs
1.3 Warning Cleanup ✅
-D warnings flag ile tüm uyarılar temizlendi:
| Dosya | Sorun | Kalıcı Çözüm |
|---|---|---|
chain_spec_runtime/runtime.rs |
dead_code Header | type _Header |
first-runtime/src/lib.rs |
dead_code Header | type _Header |
shared/record.rs |
unused methods | #[cfg(feature)] |
shared/mod.rs |
unused imports | #[cfg(feature)] |
overhead/command.rs |
unused imports | #[cfg(feature)] |
pez-minimal-template-runtime |
unused alias | import kaldırıldı |
yet-another-teyrchain |
shadowing imports | redundant use kaldırıldı |
umbrella/src/lib.rs |
undefined feature | referans yorumlandı |
1.4 Binary'ler ✅
pezkuwi(relay chain node) - 146MB ✅pezkuwi-teyrchain(collator) - 263MB ✅pezkuwi-zombienet(network spawn CLI) ✅
1.5 Template Repo'lar
- pez-solochain-template → crates.io dependency
- pez-teyrchain-template → crates.io dependency
Hedef:
cargo check --workspacebaşarılı ✅cargo clippy --workspace -D warningsbaşarılı ✅cargo build --releasebaşarılı ✅
FAZ 2: CHAIN-SPEC & GENESIS (IN PROGRESS)
2.1 Chain Spec Dosyaları
- pezkuwichain-dev.json (development) ✅ ~3.5MB
- asset-hub-pezkuwichain-dev.json (development) ✅ ~3.8MB
- pezkuwichain-local.json (local testnet)
- zagros.json (public testnet)
- pezkuwichain.json (mainnet)
- asset-hub-pezkuwichain.json (mainnet)
- people-pezkuwichain.json (mainnet)
2.1.1 Zombienet Config ✅
# /home/mamostehp/pezkuwi-sdk/zombienet-dev.toml
[relaychain]
default_command = "/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi"
chain = "pezkuwichain-dev"
[[teyrchains]]
id = 1000
chain = "asset-hub-pezkuwichain-dev"
cumulus_based = true
2.1.2 KRİTİK BULGU: Chain Spec Format Sorunu ⚠️
Problem: Zombienet SDK teyrchain'leri relay chain genesis'ine eklerken (customize_relay → add_parachain_to_genesis), chain spec'in "plain" formatında olması gerekiyor. "Raw" formatta customize edilemiyor.
Çözüm Yolları:
- Chain spec'i "plain" formatında generate et, zombienet raw'a çevirsin
- Genesis preset'te teyrchain önceden kayıtlı olsun
- Network çalıştıktan sonra sudo ile manuel register
İlgili Kod:
vendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rs:1040-1079customize_relay()satır 801 - paras ekleme mantığı
2.2 Genesis Konfigürasyonu
Relay Chain (HEZ):
- Sudo account: [BELIRLENECEK]
- Validators (initial): 21 accounts
- Staking: DOT parametreleri
- Inflation: DOT modeli
Asset Hub (PEZ):
- Total Supply: 5,000,000,000 PEZ
- Presale Allocation: [MIKTAR]
- Founder Allocation: [MIKTAR]
- Team Allocation: [MIKTAR]
- Treasury: [MIKTAR]
- Synthetic Halving: [SCHEDULE]
2.3 Account Listesi
- Validator accounts (21 adet)
- Sudo/Root account
- Treasury account
- Presale wallets
- Founder wallets
- Team wallets
Hedef:
- Tüm chain-spec'ler hazır
- Genesis balances finalize
FAZ 3: NETWORK TEST AŞAMALARI (IN PROGRESS)
3.1 DEV (1 Validator - Alice) ✅ TAMAMLANDI
Başarı Kriterleri:
- Relay chain başlar ✅ (zombienet spawn 17 saniyede up)
- Bloklar üretilir ✅ (Block #2000+ gözlemlendi)
- Finalize olur ✅ (GRANDPA çalışıyor)
- Asset Hub collator relay'e bağlanır ✅ (1 peer)
- Asset Hub teyrchain blok üretir ✅ (Block #2000+)
- Teyrchain genesis registration ✅
- People Chain teyrchain başlar (Bu faz için gerekli değil)
- Cross-chain mesajlaşma çalışır (XCM testi - beklemede)
- HEZ transfer ✅ (pezkuwi-subxt ile başarılı - 2026-01-02)
- PEZ transfer ✅ (pezkuwi-subxt ile test edilecek)
DEV FAZ SORUN ANALİZİ VE ÇÖZÜM (2026-01-02):
SORUN:
Teyrchain (para 1000) genesis'te kayıtlı olmasına rağmen aktifleşmiyordu.
Collator loglarında best: #0, finalized #0, 0 peers görülüyordu.
KÖK NEDEN:
ParaGenesisArgsformat uyumsuzluğu: Zombienet SDK teyrchain verilerini[para_id, [genesis_head, validation_code, is_teyrchain]]array formatında ekliyordu- Ancak runtime bekleyen format:
[para_id, {genesis_head, validation_code, teyrchain}]object formatı - Bu nedenle genesis build fonksiyonu (
initialize_para_now) doğru çalışmıyordu
ÇÖZÜM:
Zombienet SDK'daki add_parachain_to_genesis() fonksiyonu düzeltildi:
- Array format yerine object format kullanıldı
validation_code,genesis_head,teyrchainalanları doğru şekilde serialize edildi- Chain spec "plain" formatında generate edilip zombienet'in raw'a çevirmesi sağlandı
İlgili Dosya:
vendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rs
SONUÇ:
- Relay chain: Block #2000+ ✅
- Asset Hub teyrchain: Block #2000+ ✅
- Her iki chain senkronize çalışıyor ✅
- 1 peer bağlantısı aktif ✅
TOKEN TRANSFER BAŞARILI (2026-01-02):
Test: cargo run --release -p pezkuwi-subxt --example tx_pezkuwichain
✓ Connected to Pezkuwichain node
✓ Transaction finalized!
✓ Transfer event: 1,000,000,000,000 TYR (1 HEZ) Alice → Bob
Polkadot.js API yerine pezkuwi-subxt kullanıldı ve başarılı oldu.
Test dosyası: vendor/pezkuwi-subxt/subxt/examples/tx_pezkuwichain.rs
3.2 LOCAL (2 Validator - Alice + Bob) ✅ TAMAMLANDI
Başarı Kriterleri:
- Peer discovery çalışır ✅ (her node 2 peer)
- Consensus çalışır ✅ (Alice + Bob senkronize)
- Teyrchain blok üretimi çalışır ✅ (Asset Hub block #59+)
- GRANDPA finality çalışır ✅
LOCAL FAZ SONUÇLARI (2026-01-02):
Zombienet Config:
# /home/mamostehp/pezkuwi-sdk/zombienet-local.toml
[relaychain]
chain = "pezkuwichain-local"
default_args = ["-lteyrchain=debug", "--unsafe-force-node-key-generation"]
[[relaychain.nodes]]
name = "alice"
validator = true
rpc_port = 9944
[[relaychain.nodes]]
name = "bob"
validator = true
rpc_port = 9946
[[teyrchains]]
id = 1000
chain = "asset-hub-pezkuwichain-local"
add_to_genesis = true
Test Sonuçları:
Network Spawn: 27.97 saniyede UP
Node Durumları (block #59):
├── Alice (9944): 2 peers ✅
├── Bob (9946): 2 peers ✅
└── Asset Hub (9945): 2 peers ✅
Senkronizasyon: Tüm node'lar aynı blok numarasında ✅
Önemli Notlar:
- DEV fazından farklı olarak 2 validator consensus gerektiriyor
- Alice ve Bob birbirini buluyor (peer discovery çalışıyor)
- Asset Hub collator her iki relay node'a bağlanıyor
- Teyrchain genesis registration DEV fazındaki fix ile çalışıyor
3.3 ALPHA (4 Validator)
Başarı Kriterleri:
- Uzak node'lar bağlanır
- Telemetry çalışır
- RPC endpoints aktif
3.4 BETA (8 Validator)
Başarı Kriterleri:
- Stress test geçer
- Explorer entegrasyonu
- Faucet çalışır
- Wallet entegrasyonu
3.5 STAGING (21 Validator)
Başarı Kriterleri:
- Mainnet konfigürasyonu ile çalışır
- 7 gün kesintisiz çalışma
- Runtime upgrade testi
- Governance testi
Hedef:
- Her aşama %100 geçmeden sonrakine geçilmez
- Tüm bug'lar kalıcı olarak çözülür
FAZ 4: MAINNET HAZIRLIK & LANÇ
4.1 Final Checklist
- Tüm chain-spec'ler finalize
- Genesis balances onaylandı
- Validator operatörleri hazır
- Monitoring kuruldu
- Backup/Recovery planı var
- Incident response planı var
4.2 Launch Sequence
- Genesis block oluştur
- Validators başlat (koordineli)
- Teyrchain'leri kaydet
- Collator'ları başlat
- Public RPC aç
- Explorer aktif et
- Duyuru
Hedef:
- MAINNET LIVE!
İLERLEME TAKİBİ
| Faz | Durum | İlerleme |
|---|---|---|
| FAZ 0 | ✅ TAMAMLANDI | %100 |
| FAZ 1 | ✅ TAMAMLANDI | %100 |
| FAZ 2 | ✅ TAMAMLANDI | %100 (chain-spec ✅, genesis config ✅) |
| FAZ 3 | 🔄 IN PROGRESS | %50 (DEV ✅, LOCAL ✅, Token Transfer ✅, ALPHA beklemede) |
| FAZ 5 | ✅ TAMAMLANDI | %100 (NPM paketleri ✅, pwap migration ✅) |
| FAZ 6 | PENDING | %0 (VPS testnet) |
| FAZ 7 | ✅ TAMAMLANDI | %100 (JS/TS ecosystem rebrand ✅) |
| FAZ 8 | ✅ TAMAMLANDI | %100 (Kusama → Dicle rebrand + cargo check ✅) |
| FAZ 4 | PENDING | %0 (Mainnet lansman) |
| TOPLAM | - | ~%83 |
DEĞİŞİKLİK GEÇMİŞİ
| Tarih | Değişiklik |
|---|---|
| 2026-01-01 | İlk versiyon oluşturuldu |
| 2026-01-02 | FAZ 1 tamamlandı - workspace derlemesi başarılı, warning cleanup yapıldı |
| 2026-01-02 | Binary build'ler tamamlandı (pezkuwi, pezkuwi-teyrchain, pezkuwi-zombienet) |
| 2026-01-02 | DEV chain-spec'ler oluşturuldu (pezkuwichain-dev, asset-hub-pezkuwichain-dev) |
| 2026-01-02 | pezkuwi-zombienet CLI build edildi ve vendor'a entegre edildi |
| 2026-01-02 | DEV relay chain başarıyla çalışıyor (blok üretimi + finality) |
| 2026-01-02 | KRİTİK: Teyrchain registration sorunu tespit edildi (chain spec format) |
| 2026-01-02 | DEV FAZ TAMAMLANDI - Teyrchain genesis registration çözüldü |
| 2026-01-02 | ParaGenesisArgs format sorunu düzeltildi (array → object) |
| 2026-01-02 | Asset Hub teyrchain block #2000+ üretiyor |
| 2026-01-02 | Token transfer: Polkadot.js API uyumsuzluğu tespit edildi (PAPI gerekli) |
| 2026-01-02 | LOCAL FAZ TAMAMLANDI - 2 validator (Alice + Bob) başarıyla çalışıyor |
| 2026-01-02 | Peer discovery doğrulandı - her node 2 peer ile bağlantılı |
| 2026-01-02 | Multi-validator consensus (BABE + GRANDPA) çalışıyor |
| 2026-01-02 | zombienet-local.toml config dosyası oluşturuldu |
| 2026-01-02 | TOKEN TRANSFER BAŞARILI - pezkuwi-subxt ile HEZ transfer test edildi |
| 2026-01-02 | tx_pezkuwichain.rs örneği oluşturuldu (vendor/pezkuwi-subxt/subxt/examples/) |
| 2026-01-02 | SessionStart hook sistemi kuruldu (context persistence) |
| 2026-01-02 | PROJECT_STATE.md ve SESSION_LOG.md oluşturuldu |
| 2026-01-05 | FAZ 5 BAŞLADI - NPM packages ve pwap ecosystem migration |
| 2026-01-05 | pezkuwi-common tüm paketleri NPM'e yayınlandı (20 paket @ 14.0.5) |
| 2026-01-05 | pezkuwi-api paketlerinden 2 tanesi yayınlandı (types-support, types-codec @ 16.5.5) |
| 2026-01-05 | NPM rate limit sorunu tespit edildi (E429 - günlük publish limiti) |
| 2026-01-05 | NPM Pro hesabına geçildi (bypass authentication token) |
| 2026-01-05 | pwap migration tamamlandı (59 package.json + 1510 kaynak dosya) |
| 2026-01-05 | Kalan 13 API paketi yarın yayınlanacak (rate limit sıfırlanması bekleniyor) |
| 2026-01-07 | JS/TS ECOSYSTEM REBRAND TAMAMLANDI - 5 repo başarıyla build edildi |
| 2026-01-07 | pezkuwi-api: NPM'e yayınlandı (@pezkuwi/api@16.5.6) |
| 2026-01-07 | pezkuwi-extension: Build başarılı, Chrome+Firefox extension ready |
| 2026-01-07 | pezkuwi-common: NPM'e yayınlandı (@pezkuwi/util@14.0.7) |
| 2026-01-07 | pezkuwi-ui: Build başarılı, UI components ready |
| 2026-01-07 | pwap/web: @pezkuwi paketleriyle build başarılı |
| 2026-01-07 | GitHub Actions düzeltildi (Lock Threads + Build workflows) |
| 2026-01-07 | README'ler güncellendi (Dijital Kurdistan Tech Institute branding) |
| 2026-01-07 | FAZ 8 TAMAMLANDI - Kusama → Dicle rebrand yapıldı |
| 2026-01-07 | cargo check --workspace başarılı - Finished çıktısı alındı ✅ |
FAZ 7: JS/TS ECOSYSTEM REBRAND ✅ TAMAMLANDI (2026-01-07)
7.1 Rebrand Edilen Repolar
| Repo | Build | NPM | GitHub Actions | README |
|---|---|---|---|---|
| pezkuwi-api | ✅ | ✅ @16.5.6 | ✅ Lock Threads | ✅ |
| pezkuwi-common | ✅ | ✅ @14.0.7 | ✅ Lock Threads | ✅ |
| pezkuwi-extension | ✅ | - | ✅ Lock + Build | ✅ |
| pezkuwi-ui | ✅ | - | ✅ Lock + Build | ✅ |
| pwap | ✅ | - | ✅ Quality Gate | ✅ |
7.2 NPM Paket Durumu
@pezkuwi/api ecosystem (16.5.6):
@pezkuwi/api, @pezkuwi/api-augment, @pezkuwi/api-base, @pezkuwi/api-derive,
@pezkuwi/rpc-augment, @pezkuwi/rpc-core, @pezkuwi/rpc-provider,
@pezkuwi/types, @pezkuwi/types-augment, @pezkuwi/types-codec,
@pezkuwi/types-create, @pezkuwi/types-known, @pezkuwi/types-support
@pezkuwi/common ecosystem (14.0.7):
@pezkuwi/keyring, @pezkuwi/util, @pezkuwi/util-crypto, @pezkuwi/networks,
@pezkuwi/hw-ledger, @pezkuwi/hw-ledger-transports,
@pezkuwi/x-bigint, @pezkuwi/x-fetch, @pezkuwi/x-global,
@pezkuwi/x-randomvalues, @pezkuwi/x-textdecoder, @pezkuwi/x-textencoder, @pezkuwi/x-ws
@pezkuwi/extension ecosystem (0.62.11):
@pezkuwi/extension-dapp, @pezkuwi/extension-inject
@pezkuwi/ui ecosystem (3.16.8):
@pezkuwi/react-identicon, @pezkuwi/react-qr, @pezkuwi/reactnative-identicon,
@pezkuwi/vue-identicon, @pezkuwi/ui-keyring, @pezkuwi/ui-settings, @pezkuwi/ui-shared
7.3 Workflow Düzeltmeleri
Tüm repolarda yapılan düzeltmeler:
lock.yml:secrets.GH_PAT_BOT→github.token+workflow_dispatchtriggerpush-master.yml→push-main.yml:mainbranch'e geçiş- README.md: "Dijital Kurdistan Tech Institute" branding + pezkuwichain.io domain'leri
7.4 pwap/web Build Düzeltmeleri
Yapılan değişiklikler:
package.json: @pezkuwi dependencies güncellendinpm overrides: Dependency version mismatch'ler düzeltildivite.config.ts:@pezkuwi/typesalias →@local/types(npm paketi ile çakışmayı önlemek için)shared/utils/dex.ts: Import path güncellendi
Build sonucu: ✅ 3471 modules transformed, 12.11s
7.5 Repo Konumları
/home/mamostehp/pezkuwi-api/ # @pezkuwi/api packages
/home/mamostehp/pezkuwi-common/ # @pezkuwi/util, keyring, crypto
/home/mamostehp/pezkuwi-extension/ # Browser extension
/home/mamostehp/pezkuwi-ui/ # React/Vue identicons, QR
/home/mamostehp/pwap/ # Web + Mobile wallet apps
FAZ 8: KUSAMA → DICLE REBRAND ✅ TAMAMLANDI (2026-01-07)
8.1 Kapsam
pezkuwi-sdk içindeki tüm "kusama/Kusama" referanslarının "dicle/Dicle" olarak değiştirilmesi.
Terminoloji:
- kusama → dicle
- Kusama → Dicle
8.2 Etkilenen Alanlar
- vendor/pezkuwi-subxt/ (metadata, tests)
- vendor/pezkuwi-zombienet-sdk/ (configuration)
- bizinikiwi/ (client, pezframe, primitives)
- pezkuwi/ (runtime weights, documentation)
- Test dosyaları ve benchmark'lar
8.3 Durum
✅ TAMAMLANDI (2026-01-07)
- Tüm kusama → dicle rebrand'i yapıldı
cargo check --workspacebaşarılı ✅ (Finished çıktısı alındı)
ÖNEMLİ BİLGİLER - SONRAKİ CLAUDE İÇİN
Mevcut Network Durumu (2026-01-02)
DEV ve LOCAL fazları tamamlandı:
- Relay chain: ÇALIŞIYOR ✅ (2 validator consensus)
- Asset Hub teyrchain: ÇALIŞIYOR ✅ (block üretimi + finality)
- Peer discovery: ÇALIŞIYOR ✅ (her node 2 peer)
- Teyrchain genesis registration: ÇÖZÜLDÜ ✅
Çözülen Kritik Sorun
ParaGenesisArgs format uyumsuzluğu:
- Zombienet SDK array format kullanıyordu:
[genesis_head, validation_code, is_teyrchain] - Runtime object format bekliyordu:
{genesis_head, validation_code, teyrchain} - Düzeltme:
vendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rs
Bekleyen Sorun
Polkadot.js API Uyumsuzluğu:
- Rebrand edilmiş metadata ile type mismatch
- Hata: "Expected 32 bytes, found 48 bytes" (AccountId)
- Çözüm: PAPI veya custom subxt client kullanılmalı
Dosya Konumları
- DEV config:
/home/mamostehp/pezkuwi-sdk/zombienet-dev.toml - LOCAL config:
/home/mamostehp/pezkuwi-sdk/zombienet-local.toml - pezkuwi binary:
/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi - pezkuwi-teyrchain binary:
/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-teyrchain - pezkuwi-zombienet binary:
/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-zombienet - Chain spec kaynak:
pezkuwi/runtime/pezkuwichain/src/genesis_config_presets.rs
Spawn Komutları
cd /home/mamostehp/pezkuwi-sdk
# DEV (1 validator)
./target/release/pezkuwi-zombienet spawn -p native zombienet-dev.toml
# LOCAL (2 validator)
./target/release/pezkuwi-zombienet spawn -p native zombienet-local.toml
Sonraki Adım: ALPHA (4 Validator)
- 4 validator konfigürasyonu gerekli
- Uzak node bağlantısı test edilecek
- Telemetry aktif edilecek
- RPC endpoints test edilecek
Bu plan canlı döküman olarak güncellenecektir.