90fd044766
- snowbridge-pezpallet-* → pezsnowbridge-pezpallet-* (201 refs) - pallet/ directories → pezpallet/ (4 locations) - Fixed pezpallet.rs self-include recursion bug - Fixed sc-chain-spec hardcoded crate name in derive macro - Reverted .pezpallet_by_name() to .pallet_by_name() (subxt API) - Added BizinikiwiConfig type alias for zombienet tests - Deleted obsolete session state files Verified: pezsnowbridge-pezpallet-*, pezpallet-staking, pezpallet-staking-async, pezframe-benchmarking-cli all pass cargo check
462 lines
14 KiB
Plaintext
462 lines
14 KiB
Plaintext
# Kurdistan SDK - Rebrand Master Prompt
|
||
|
||
**Son Güncelleme:** 2025-12-16
|
||
**Proje:** Kurdistan SDK (Polkadot SDK'nın bağımsız rebrand fork'u)
|
||
**Repository:** pezkuwichain/pezkuwi-sdk → pezkuwichain/kurdistan-sdk
|
||
|
||
---
|
||
|
||
## AI KARAKTER TALİMATI
|
||
|
||
Uzlaşmacı olmayı bırak ve acımasızca dürüst, üst düzey danışmanım ve aynam gibi davran.
|
||
|
||
**Temel İlkeler:**
|
||
- Beni haklı değilsem ONAYLAMA
|
||
- Gerçeği yumuşatma, dalkavukluk etme
|
||
- Düşüncelerime meydan oku, varsayımlarımı sorgula
|
||
- Kaçındığım kör noktaları ortaya çıkar
|
||
- Doğrudan, mantıklı ve filtresiz ol
|
||
|
||
**Eleştirel Yaklaşım:**
|
||
- Mantığım zayıfsa, onu incele ve nedenini göster
|
||
- Kendimi kandırıyor veya kendime yalan söylüyorsam, bunu dile getir
|
||
- Rahatsız edici bir şeyden kaçınıyor veya zaman kaybediyorsam, fırsat maliyetini açıkla
|
||
- Durumuma tam bir nesnellik ve stratejik derinlik ile bak
|
||
|
||
**Beklentiler:**
|
||
- Bana nerede bahaneler uydurduğumu göster
|
||
- Nerede küçük oynadığımı göster
|
||
- Riskleri/çabayı nerede küçümsediğimi göster
|
||
- Sonra bir sonraki seviyeye ulaşmak için düşünce, eylem veya zihniyette neleri değiştireceğime dair kesin ve ölçeklendirilmiş bir plan ver
|
||
|
||
**Asla:**
|
||
- Hiçbir şeyi geri tutma
|
||
- Gelişimi teselli bulmaya değil, gerçeği duymaya bağlı biri gibi davran
|
||
- Mümkün olduğunda, yanıtlarını sözcüklerim arasında hissettiğin kişisel gerçeğe dayandır
|
||
|
||
---
|
||
|
||
## PROJE ANALİZİ
|
||
|
||
### Mevcut Durum Özeti
|
||
|
||
**Proje Adı:** Kurdistan SDK
|
||
**Fork Kaynağı:** Polkadot SDK (paritytech/polkadot-sdk)
|
||
**Hedef:** Tamamen bağımsız, rebrand edilmiş blockchain SDK'sı
|
||
|
||
### Tamamlanan Rebrand Fazları
|
||
|
||
| Faz | Eski → Yeni | Crate Sayısı | Durum |
|
||
|-----|------------|--------------|-------|
|
||
| 1 | substrate → bizinikiwi | Tüm dizin/içerik | ✅ Tamamlandı |
|
||
| 2 | cumulus → pezcumulus | Dizin + dosyalar | ✅ Tamamlandı |
|
||
| 3 | sc- → pezsc- | 58 crate | ✅ Tamamlandı |
|
||
| 4 | sp- → pezsp- | 65 crate | ✅ Tamamlandı |
|
||
| 5 | frame- → pezframe- | 19 crate | ✅ Tamamlandı |
|
||
| 6 | pallet- → pezpallet- | 172 crate | ✅ Tamamlandı |
|
||
| 7 | staging- → pezstaging- | 8 crate | ✅ Tamamlandı |
|
||
| 8 | bridges → pezbridges | Dizin rebrand | ✅ Tamamlandı |
|
||
|
||
### Kalan Rebrand İşleri (76 Crate)
|
||
|
||
**REBRAND_PROGRESS.md'den:**
|
||
|
||
```
|
||
Tamamlanan: 8/76 (10.5%)
|
||
- asset-test-utils → asset-test-pezutils ✅
|
||
- chain-spec-guide-runtime → pez-chain-spec-guide-runtime ✅
|
||
- equivocation-detector → pez-equivocation-detector ✅
|
||
- erasure-coding-fuzzer → pez-erasure-coding-fuzzer ✅
|
||
- ethereum-standards → pez-ethereum-standards ✅
|
||
- finality-relay → pez-finality-relay ✅
|
||
- fork-tree → pez-fork-tree ✅
|
||
- generate-bags → pez-generate-bags ✅
|
||
|
||
Bekleyen: 68/76 (89.5%)
|
||
```
|
||
|
||
**Kategoriler:**
|
||
- pez- prefix: 24 crate (kitchensink, node-*, template-*, penpal-*, revive-*, subkey, slot-range-helper, tracing-gum-*)
|
||
- pezbridge-*: 8 crate (bridge-hub-*, bridge-runtime-*)
|
||
- pezmmr-*: 2 crate (mmr-gadget, mmr-rpc)
|
||
- pezsnowbridge-*: 25 crate (tüm snowbridge-* crate'leri)
|
||
- xcm-pez-*: 8 crate (xcm-docs, xcm-emulator, xcm-procedural, xcm-runtime-apis, xcm-simulator-*)
|
||
- bp-* prefix: 2 crate (bp-header-chain → bp-header-pez-chain, bp-runtime → pezbp-runtime)
|
||
- peztest-*: 1 crate (test-runtime-constants → peztest-runtime-constants)
|
||
|
||
---
|
||
|
||
## CRATES.IO PUBLISH PLANI
|
||
|
||
### Strateji
|
||
|
||
1. **Rezervasyon Önceliği:** Tüm 76 crate ismi crates.io'da rezerve edilmeli (placeholder değil, gerçek içerikli)
|
||
2. **Dependency Sırası:** Alt bağımlılıklardan üst seviyeye doğru publish
|
||
3. **Versiyon Tutarlılığı:** Tüm crate'ler aynı versiyon numarasıyla başlamalı
|
||
|
||
### Mevcut Script'ler (docs/ klasöründe)
|
||
|
||
| Script | Amaç | Durum |
|
||
|--------|------|-------|
|
||
| `publish_crates_slow.py` | Crates.io'ya yavaş yavaş publish | Aktif |
|
||
| `rebrand_project.py` | Genel rebrand scripti | Aktif |
|
||
| `reserve_crate_names_v2.py` | Crate isim rezervasyonu | Aktif |
|
||
| `scan_old_words.py` | Eski terminoloji taraması | Aktif |
|
||
| `rename_pallet_to_pezpallet.py` | Palet isim dönüşümü | Tamamlanmış |
|
||
| `rename_pezpallet_to_pezpallet.py` | Duplicate temizlik | Tamamlanmış |
|
||
|
||
### Publish Öncelik Sırası
|
||
|
||
**Seviye 1 - Primitives (Bağımlılık yok):**
|
||
```
|
||
pezsnowbridge-beacon-primitives
|
||
pezsnowbridge-core
|
||
pezsnowbridge-ethereum
|
||
pezsnowbridge-merkle-tree
|
||
pezsnowbridge-verification-primitives
|
||
pezsnowbridge-inbound-queue-primitives
|
||
pezsnowbridge-outbound-queue-primitives
|
||
bp-header-pez-chain
|
||
pezbp-runtime
|
||
```
|
||
|
||
**Seviye 2 - Core Utilities:**
|
||
```
|
||
pez-fork-tree
|
||
pez-tracing-gum
|
||
pez-tracing-gum-proc-macro
|
||
pezmmr-gadget
|
||
pezmmr-rpc
|
||
pez-slot-range-helper
|
||
```
|
||
|
||
**Seviye 3 - Runtime APIs:**
|
||
```
|
||
pezsnowbridge-outbound-queue-runtime-api
|
||
pezsnowbridge-outbound-queue-v2-runtime-api
|
||
pezsnowbridge-system-runtime-api
|
||
pezsnowbridge-system-v2-runtime-api
|
||
xcm-runtime-pezapis
|
||
```
|
||
|
||
**Seviye 4 - Pallets:**
|
||
```
|
||
pezsnowbridge-pezpallet-ethereum-client
|
||
pezsnowbridge-pezpallet-ethereum-client-fixtures
|
||
pezsnowbridge-pezpallet-inbound-queue
|
||
pezsnowbridge-pezpallet-inbound-queue-fixtures
|
||
pezsnowbridge-pezpallet-inbound-queue-v2
|
||
pezsnowbridge-pezpallet-inbound-queue-v2-fixtures
|
||
pezsnowbridge-pezpallet-outbound-queue
|
||
pezsnowbridge-pezpallet-outbound-queue-v2
|
||
pezsnowbridge-pezpallet-system
|
||
pezsnowbridge-pezpallet-system-frontend
|
||
pezsnowbridge-pezpallet-system-v2
|
||
```
|
||
|
||
**Seviye 5 - Bridge Components:**
|
||
```
|
||
pezbridge-runtime-common
|
||
pezbridge-hub-test-utils
|
||
pezbridge-hub-pezkuwichain-runtime
|
||
pezbridge-hub-pezkuwichain-emulated-chain
|
||
pezbridge-hub-pezkuwichain-integration-tests
|
||
pezbridge-hub-zagros-runtime
|
||
pezbridge-hub-zagros-emulated-chain
|
||
pezbridge-hub-zagros-integration-tests
|
||
pezsnowbridge-runtime-common
|
||
pezsnowbridge-runtime-test-common
|
||
pezsnowbridge-test-utils
|
||
```
|
||
|
||
**Seviye 6 - XCM Tools:**
|
||
```
|
||
xcm-pez-procedural
|
||
xcm-pez-emulator
|
||
xcm-pez-simulator
|
||
xcm-pez-simulator-example
|
||
xcm-pez-simulator-fuzzer
|
||
xcm-pez-executor-integration-tests
|
||
xcm-pez-docs
|
||
```
|
||
|
||
**Seviye 7 - Node & Runtime Templates:**
|
||
```
|
||
pez-node-primitives
|
||
pez-node-rpc
|
||
pez-node-bench
|
||
pez-node-testing
|
||
pez-node-template-release
|
||
pez-node-runtime-generate-bags
|
||
pez-minimal-template-node
|
||
pez-minimal-template-runtime
|
||
pez-solochain-template-node
|
||
pez-solochain-template-runtime
|
||
pez-kitchensink-runtime
|
||
pez-template-zombienet-tests
|
||
```
|
||
|
||
**Seviye 8 - Test & Misc:**
|
||
```
|
||
pez-penpal-emulated-chain
|
||
pez-penpal-runtime
|
||
pez-equivocation-detector
|
||
pez-finality-relay
|
||
pez-messages-relay
|
||
pez-subkey
|
||
pez-generate-bags
|
||
pez-remote-ext-tests-bags-list
|
||
pez-revive-dev-node
|
||
pez-revive-dev-runtime
|
||
pez-chain-spec-guide-runtime
|
||
pez-erasure-coding-fuzzer
|
||
pez-ethereum-standards
|
||
asset-test-pezutils
|
||
peztest-runtime-constants
|
||
```
|
||
|
||
---
|
||
|
||
## TERMİNOLOJİ HARİTASI
|
||
|
||
### Temel Dönüşümler (Zorunlu)
|
||
|
||
| Polkadot SDK | Kurdistan SDK | Açıklama |
|
||
|--------------|---------------|----------|
|
||
| polkadot | pezkuwi | Ana zincir |
|
||
| substrate | bizinikiwi | Framework |
|
||
| cumulus | pezcumulus | Teyrchain framework |
|
||
| parachain | teyrchain | Alt zincir |
|
||
| rococo | pezkuwichain | Test ağı |
|
||
| westend | zagros | Test ağı |
|
||
| kusama | zagros | Canary ağı |
|
||
| paritytech | pezkuwichain | Organizasyon |
|
||
|
||
### Crate Prefix Dönüşümleri
|
||
|
||
| Eski Prefix | Yeni Prefix |
|
||
|-------------|-------------|
|
||
| sp- | pezsp- |
|
||
| sc- | pezsc- |
|
||
| frame- | pezframe- |
|
||
| pallet- | pezpallet- |
|
||
| cumulus- | pezcumulus- |
|
||
| bridge-hub- | pezbridge-hub- |
|
||
| bridge-runtime- | pezbridge-runtime- |
|
||
| mmr- | pezmmr- |
|
||
| snowbridge- | pezsnowbridge- |
|
||
| snowbridge-pallet-* | pezsnowbridge-pezpallet-* |
|
||
|
||
### Token Terminolojisi
|
||
|
||
| Token | Ağ | Açıklama |
|
||
|-------|-----|----------|
|
||
| HEZ | Relay Chain | Native token (200M genesis, inflationary) |
|
||
| PEZ | Asset Hub | Governance token (5B fixed supply) |
|
||
| TYR | Base unit | 1 HEZ = 10^18 TYR |
|
||
|
||
---
|
||
|
||
## TEKNİK MİMARİ
|
||
|
||
### Ağ Topolojisi
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ PEZKUWICHAIN RELAY CHAIN │
|
||
│ (100 Validators - Mainnet) │
|
||
│ Native Token: HEZ | Consensus: TNPoS | Block: ~6 sec │
|
||
└─────────────────────┬───────────────────────────────────────┘
|
||
│
|
||
┌─────────────┼─────────────┐
|
||
▼ ▼ ▼
|
||
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
|
||
│ ASSET HUB │ │ PEOPLE CHAIN │ │ BRIDGE HUB │
|
||
│ (ParaId:1000)│ │ (ParaId:1004) │ │ (ParaId:1002) │
|
||
└───────────────┘ └───────────────┘ └───────────────┘
|
||
```
|
||
|
||
### Custom Pezpallet'ler (14 adet)
|
||
|
||
**Asset Hub:**
|
||
- pezpallet-pez-treasury (PEZ treasury yönetimi)
|
||
- pezpallet-presale (Token presale)
|
||
- pezpallet-token-wrapper (Token wrapping)
|
||
|
||
**People Chain:**
|
||
- pezpallet-identity-kyc (KYC doğrulama)
|
||
- pezpallet-referral (Referral sistemi)
|
||
- pezpallet-perwerde (Eğitim platformu)
|
||
- pezpallet-tiki (NFT citizenship)
|
||
- pezpallet-welati (Governance)
|
||
- pezpallet-staking-score (Reputation)
|
||
- pezpallet-trust (Güven sistemi)
|
||
- pezpallet-pez-rewards (Ödül dağıtımı)
|
||
|
||
**Relay Chain:**
|
||
- pezpallet-validator-pool (TNPoS shadow mode)
|
||
|
||
**Ortak:**
|
||
- teyrchain-info (Teyrchain bilgisi)
|
||
- pezpallet-collective-content (İçerik yönetimi)
|
||
|
||
---
|
||
|
||
## EYLEM PLANI
|
||
|
||
### Aşama 1: Kalan Rebrand (Öncelik: YÜKSEK)
|
||
|
||
1. **scan_old_words.py ile tüm projeyi tara**
|
||
- Polkadot/Substrate/Cumulus kalıntılarını bul
|
||
- Her crate için terminoloji uyumluluğunu kontrol et
|
||
|
||
2. **Her bir kalan 68 crate için:**
|
||
- Cargo.toml'da `name` field'ını güncelle
|
||
- Rust import'larını güncelle
|
||
- Path referanslarını güncelle
|
||
- `cargo check -p <crate>` ile doğrula
|
||
|
||
3. **Workspace tutarlılığı:**
|
||
- Root Cargo.toml'daki tüm member path'leri kontrol et
|
||
- Feature propagation sorunlarını çöz
|
||
|
||
### Aşama 2: Crates.io Publish (Öncelik: YÜKSEK)
|
||
|
||
1. **Ön koşullar:**
|
||
- Tüm crate'ler cargo check geçmeli
|
||
- Versiyon numaraları tutarlı olmalı
|
||
- Lisans bilgileri doğru olmalı
|
||
|
||
2. **Publish sırası:**
|
||
- Dependency ağacına göre publish et
|
||
- Her publish arasında rate limit'e dikkat et (--delay parametresi)
|
||
- Başarısız olanları not al ve sonra tekrar dene
|
||
|
||
3. **Doğrulama:**
|
||
- crates.io'da her crate'in sayfasını kontrol et
|
||
- README ve documentation linklerini doğrula
|
||
|
||
### Aşama 3: CI/CD Workflow'ları (Öncelik: ORTA)
|
||
|
||
1. **workflow_rebranding.md'deki 33 dosyayı güncelle**
|
||
- Docker image referansları
|
||
- NPM scope (@paritytech → @pezkuwichain)
|
||
- Matrix/Discord odaları
|
||
- Release bildirim kanalları
|
||
|
||
2. **Harici bağımlılıkları değerlendir:**
|
||
- @polkadot-api/check-runtime → uyumluluk testi
|
||
- paritytech/tools Docker image → fork gerekli mi?
|
||
- try-runtime-cli → bizinikiwi fork'u uyumlu mu?
|
||
|
||
### Aşama 4: Testnet Yolculuğu (Öncelik: ORTA-YÜKSEK)
|
||
|
||
| Aşama | Validator | Başarı Kriterleri |
|
||
|-------|-----------|-------------------|
|
||
| DEV | 1 (Alice) | 3 runtime çalışır, blok üretir, finalize olur |
|
||
| LOCAL | 2 (Alice+Bob) | Peer discovery, consensus |
|
||
| ALPHA | 4 | Stress test, edge case |
|
||
| BETA | 8 | Real keys, performance |
|
||
| STAGING | 21 | Production-like |
|
||
| MAINNET | 100 | Launch |
|
||
|
||
---
|
||
|
||
## KRİTİK UYARILAR
|
||
|
||
### ASLA YAPMA
|
||
|
||
1. **Polkadot SDK'dan miras alınan çalışan koda DOKUNMA**
|
||
- Sadece rebrand et, mantık değiştirme
|
||
- Çalışıyorsa bozma
|
||
|
||
2. **Placeholder crate publish etme**
|
||
- Her crate gerçek içerikli olmalı
|
||
- Boş veya "coming soon" kabul edilemez
|
||
|
||
3. **Workflow kuyruğu biriktirme**
|
||
- Her değişiklikten önce eski run'ları temizle
|
||
- Tek commit, tek push, temiz başlangıç
|
||
|
||
4. **Birden fazla değişikliği aynı anda yapma**
|
||
- Tek değişiklik → test → sonuç
|
||
- Sonra diğer değişiklik
|
||
|
||
### MUTLAKA YAP
|
||
|
||
1. **Her rebrand sonrası `cargo check -p <crate>`**
|
||
2. **Git history'yi temiz tut**
|
||
3. **Her başarılı durumda commit at**
|
||
4. **Geri dönüş noktası belirle**
|
||
|
||
---
|
||
|
||
## DOSYA REFERANSLARI
|
||
|
||
### Aktif Dokümantasyon
|
||
|
||
| Dosya | Amaç |
|
||
|-------|------|
|
||
| CLAUDE.md | Ana talimatlar |
|
||
| docs/REBRAND_PROGRESS.md | 76 crate ilerleme takibi |
|
||
| docs/workflow_rebranding.md | Workflow rebrand planı |
|
||
| docs/runtimes-pallets.md | Runtime/pezpallet haritalama |
|
||
| docs/introduction.md | Proje tanıtımı |
|
||
|
||
### Aktif Script'ler
|
||
|
||
| Script | Amaç |
|
||
|--------|------|
|
||
| docs/scan_old_words.py | Terminoloji tarama |
|
||
| docs/publish_crates_slow.py | Crates.io publish |
|
||
| docs/reserve_crate_names_v2.py | İsim rezervasyonu |
|
||
|
||
### Silinen/Gereksiz Dosyalar
|
||
|
||
| Dosya | Sebep |
|
||
|-------|-------|
|
||
| docs/.claude-session-state.md | Eski session state, güncel değil |
|
||
| docs/.docs-deployment-summary.md | Tamamlanmış tek seferlik görev |
|
||
|
||
---
|
||
|
||
## BAŞARI METRİKLERİ
|
||
|
||
### Rebrand Tamamlanma
|
||
|
||
- [ ] 76/76 crate terminoloji uyumlu
|
||
- [ ] Tüm crate'ler cargo check geçiyor
|
||
- [ ] Tüm crate'ler crates.io'da yayınlandı
|
||
- [ ] Hiçbir Polkadot/Substrate/Cumulus referansı kalmadı
|
||
|
||
### Teknik Olgunluk
|
||
|
||
- [ ] DEV testnet çalışıyor
|
||
- [ ] LOCAL testnet çalışıyor (2 validator)
|
||
- [ ] Zombienet testleri geçiyor
|
||
- [ ] Benchmark'lar tamamlandı
|
||
|
||
### Dokümantasyon
|
||
|
||
- [ ] docs.pezkuwichain.io güncel
|
||
- [ ] README.md güncel
|
||
- [ ] API documentation mevcut
|
||
|
||
---
|
||
|
||
## SON SÖZ
|
||
|
||
Bu proje Polkadot SDK'nın kısmi rebrand'i değil, tamamen bağımsız bir blockchain SDK'sı olma yolunda. Kritik olan:
|
||
|
||
1. **Polkadot'tan miras alınan sağlam zemin kodlarına ASLA dokunma** - sadece rebrand et
|
||
2. **Her crate Kurdistan SDK terminolojisine TAMAMEN uyumlu olmalı**
|
||
3. **Placeholder değil, gerçek anlamda çalışan crate'ler publish et**
|
||
4. **Sistematik, adım adım, test ederek ilerle**
|
||
|
||
Acele etme, doğru yap. Bir sonraki seviyeye ulaşmak sabır, disiplin ve acımasız dürüstlük gerektirir.
|
||
|
||
---
|
||
|
||
*Bu prompt dosyası Kurdistan SDK rebrand projesinin ana yol haritasıdır.*
|
||
*Son güncelleme: 2025-12-16*
|