chore: remove stale docs, scripts, and sensitive validator data

This commit is contained in:
2026-02-11 04:52:20 +03:00
parent b5d9de7e71
commit 237e5ff584
13 changed files with 0 additions and 4639 deletions
-154
View File
@@ -1,154 +0,0 @@
# CI WORKFLOW CHECKLIST
**Tarih:** 2026-01-27
**Branch:** fix/ci-wasm-target
**Son Commit:** (pending)
---
## YAPILAN DEĞİŞİKLİKLER
### Commit 1: f7f4630446
- `tests.yml` - quick-benchmarks job'ına wasm32v1-none target eklendi
### Commit 2: 98f2b64c9f
- `tests-misc.yml` - 4 job'a wasm32v1-none target eklendi
- `tests-linux-stable.yml` - 4 job'a wasm32v1-none target eklendi
- `build-misc.yml` - 1 job'a wasm32v1-none target eklendi
### Commit 3: b87897b837
- `tests-misc.yml`:
- `master``main` branch referansı düzeltildi (cargo-check-benches)
- `test-pezframe-examples-compile-to-wasm` disabled (serde_core wasm32 issue)
- `cargo-check-each-crate` - SKIP_WASM_BUILD=1 eklendi
- `test-deterministic-wasm` dependency güncellendi
- `confirm-required` needs listesi güncellendi
### Commit 4: 0a84411ba2
- `deprecated_where_block.stderr` - UI test beklenen çıktısı güncellendi
### Commit 5: 2b4af0d91b
- `deprecated_where_block.stderr` - CI-uyumlu CARGO_HOME path kullanıldı
- `/home/mamostehp/.cargo/``/usr/local/cargo/` değiştirildi
### Commit 6: (pending - quick-benchmarks getrandom fix)
- `tests.yml` - quick-benchmarks'tan wasm32v1-none target kaldırıldı
- Sebep: getrandom crate wasm32v1-none desteklemiyor
### Commit 7: (pending - tests-misc fixes)
- `tests-misc.yml`:
- `pezsnowbridge-runtime-common` cargo-check-benches exclusion listesine eklendi
- Sebep: EnsureOriginWithArg trait - `try_successful_origin` method eksik
- `test-deterministic-wasm` job'undan wasm32v1-none target kaldırıldı
- Sebep: serde_core wasm32v1-none uyumsuzluğu sessiz build hatasına yol açıyor
---
## HATA ANALİZİ VE ÇÖZÜMLER
| Job | Hata | Durum |
|-----|------|-------|
| cargo-check-benches (master) | `master` branch yok | ✅ `main` olarak düzeltildi |
| test-pezframe-examples-compile-to-wasm | serde_core wasm32 duplicate lang item | ✅ Geçici disable |
| cargo-check-each-crate | serde_core wasm32 duplicate lang item | ✅ SKIP_WASM_BUILD=1 eklendi |
| pez-node-bench-regression-guard | cargo-check-benches'e bağımlı | ✅ Otomatik düzelecek |
| test-pezframe-ui | UI test expected output mismatch | ✅ .stderr dosyası güncellendi (CI path) |
| quick-benchmarks | getrandom wasm32v1-none not supported | ✅ wasm32v1-none target kaldırıldı |
| cargo-check-benches (main) | pezsnowbridge-runtime-common EnsureOrigin | ✅ exclusion listesine eklendi |
| test-deterministic-wasm | WASM build sessiz hata (wasm32v1-none) | ✅ target kaldırıldı |
---
## RUNNER DURUMU (2026-01-27T06:30 UTC)
| VPS | IP | CPU | RAM | Runner | Versiyon | Docker | PATH |
|-----|-----|-----|-----|--------|----------|--------|------|
| VPS1 | 37.60.230.9 | 8 | 23GB | 1 | v2.331.0 | ✅ 29.1.1 | ✅ |
| VPS2 | 62.146.235.186 | 16 | 62GB | 2 | v2.331.0 | ✅ 29.1.3 | ✅ |
| VPS3 | 217.77.6.126 | 18 | 94GB | 3 | v2.331.0 | ✅ 28.2.2 | ✅ |
| VPS4 | 109.123.229.159 | 4 | 8GB | 1 | v2.331.0 | ✅ 28.2.2 | ✅ |
| VPS5 | 161.97.116.241 | 4 | 8GB | 1 | v2.331.0 | ✅ 28.2.2 | ✅ |
| VPS6 | 46.250.241.121 | 4 | 8GB | 1 | v2.331.0 | ✅ 28.2.2 | ✅ |
| VPS7 | 164.68.121.181 | 4 | 8GB | 1 | v2.331.0 | ✅ 28.2.2 | ✅ |
| VPS8 | 158.220.93.23 | 4 | 8GB | 1 | v2.331.0 | ✅ 28.2.2 | ✅ |
| **TOPLAM** | - | **62** | **227GB** | **11** | - | - | - |
### Runner PATH Fix (2026-01-27T06:23 UTC)
- Tüm runner'ların `.env` dosyasına PATH eklendi
- `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin`
- Tüm runner servisler restart edildi
### SSH Erişimi
```bash
ssh root@37.60.230.9 # VPS1
ssh root@62.146.235.186 # VPS2
ssh root@217.77.6.126 # VPS3
ssh root@109.123.229.159 # VPS4
ssh root@161.97.116.241 # VPS5
ssh root@46.250.241.121 # VPS6
ssh root@164.68.121.181 # VPS7
ssh root@158.220.93.23 # VPS8
```
---
## BİLİNEN SORUNLAR (GENEL)
### serde_core wasm32 Sorunu (Issue #355)
- **Hata:** `duplicate lang item in crate alloc: exchange_malloc`
- **Etkilenen:** Tüm wasm32-unknown-unknown target build'ler
- **Çözüm:** Upstream serde fix bekliyor, geçici olarak WASM build'ler disable/skip
### trybuild Path Normalization
- **Sorun:** trybuild CARGO_HOME path'lerini normalize etmiyor
- **Etkilenen:** `deprecated_where_block.stderr` gibi external crate referansları olan UI testler
- **Çözüm:** .stderr dosyalarında CI-uyumlu path kullanıldı (`/usr/local/cargo/`)
### getrandom wasm32v1-none
- **Sorun:** getrandom crate wasm32v1-none target'ı desteklemiyor
- **Etkilenen:** quick-benchmarks job
- **Çözüm:** Target ekleme adımı kaldırıldı, wasm-builder otomatik fallback yapar
---
## CI DURUMU (2026-01-27T07:30 UTC)
### Başarılı (12):
- ✅ Check labels
- ✅ Check licenses
- ✅ Command Bot Tests
- ✅ Review Bot
- ✅ Review-Trigger
- ✅ check-runtime-compatibility
- ✅ check-runtime-migration
- ✅ quick-checks
- ✅ tests linux stable experimental
- ✅ Build and push ETH-RPC image
- ✅ tests linux stable coverage (skipped)
- ✅ Check links
### Başarısız (düzeltme bekleniyor):
- ❌ cargo-check-benches (main) - pezsnowbridge-runtime-common exclusion → DÜZELTME YAPILDI
- ❌ test-deterministic-wasm - wasm32v1-none silent failure → DÜZELTME YAPILDI
- ❌ pez-node-bench-regression-guard - cargo-check-benches'e bağımlı
### Çalışıyor / Kuyrukta:
- 🔄 tests misc (in_progress)
- 🔄 Build Misc (in_progress)
- ⏳ Checks (queued)
- ⏳ Docs (queued)
- ⏳ tests linux stable (queued)
- ⏳ Build and push images (queued)
- ⏳ tests (queued)
- ⏳ EVM test suite (queued)
---
## SONRAKİ ADIMLAR
1. ✅ Runner PATH fix uygulandı (tüm VPS)
2. ✅ Runner'lar restart edildi
3. 🔄 Mevcut workflow'ların tamamlanmasını bekle
4. ⏳ PATH fix sonrası yeni workflow tetikle
5. ⏳ PR #356'yı merge et
6. ⏳ Mainnet hazırlıklarına devam et
-161
View File
@@ -1,161 +0,0 @@
# Crates.io Publish Plan - Pezkuwi SDK
**Son Guncelleme:** 2026-01-01 19:00 UTC
**Toplam Workspace Crate:** 606
**Publishable Crate:** ~516
**Yayinlanan:** ~516 (umbrella + zombienet dahil)
**Registry:** https://crates.io
**Owner:** https://crates.io/users/SatoshiQaziMuhammed
---
## ✅ UMBRELLA CRATE YAYINLANDI!
**pezkuwi-sdk v0.1.1** basariyla crates.io'ya yayinlandi! (zombienet ozellikleri dahil)
```bash
cargo search pezkuwi-sdk
# pezkuwi-sdk = "0.1.1" # Pezkuwi SDK umbrella crate.
```
---
## ✅ ZOMBIENET CRATE'LERI YAYINLANDI! (2026-01-01 ~19:00 UTC)
6 adet zombienet crate'i rebrand edilip v0.44.0 olarak yayinlandi:
```
[x] pezkuwi-zombienet-support v0.44.0
[x] pezkuwi-zombienet-prom-metrics-parser v0.44.0
[x] pezkuwi-zombienet-configuration v0.44.0
[x] pezkuwi-zombienet-provider v0.44.0
[x] pezkuwi-zombienet-orchestrator v0.44.0
[x] pezkuwi-zombienet-sdk v0.44.0
```
**Yapilan Degisiklikler:**
- `zombienet-*``pezkuwi-zombienet-*` rebrand
- Tum workspace referanslari guncellendi
- Kaynak dosyalarindaki `use zombienet_*``use pezkuwi_zombienet_*` guncellendi
- Umbrella'ya 6 zombienet crate eklendi
---
## BU OTURUMDA YAYINLANAN CRATE'LER (2026-01-01)
### Yeni Yayinlanan (~36 crate)
```
[x] pezpallet-contracts v27.0.0
[x] xcm-pez-simulator v7.0.0
[x] pezpallet-derivatives v1.0.0
[x] pezpallet-people v1.0.0
[x] pezpallet-dummy-dim v1.0.0
[x] pezpallet-election-provider-multi-block v0.9.0
[x] pezpallet-multi-asset-bounties v1.0.0
[x] pezpallet-oracle v1.0.0
[x] pezpallet-oracle-runtime-api v1.0.0
[x] pezpallet-origin-restriction v1.0.0
[x] pezpallet-root-offences v25.0.0
[x] pezpallet-root-testing v4.0.0
[x] pezpallet-salary v13.0.0
[x] pezpallet-session-benchmarking v28.0.0
[x] pezpallet-skip-feeless-payment v3.0.0
[x] pezpallet-staking-async-rc-client v0.1.0
[x] pezpallet-staking-async v0.1.0
[x] pezpallet-staking-async-ah-client v0.1.0
[x] pezpallet-staking-async-reward-fn v19.0.0
[x] pezpallet-staking-async-runtime-api v14.0.0
[x] pezpallet-staking-runtime-api v14.0.0
[x] pezpallet-state-trie-migration v29.0.0
[x] pezpallet-statement v10.0.0
[x] pezpallet-transaction-storage v27.0.0
[x] pezpallet-xcm-benchmarks v7.0.0
[x] pezpallet-xcm-precompiles v0.1.0
[x] pezkuwichain-runtime-constants v7.0.0
[x] testnet-teyrchains-constants v1.0.0
[x] bizinikiwi-txtesttool v0.7.0
[x] xcm-pez-emulator v0.5.0
[x] pezkuwi-sdk v0.1.0 (UMBRELLA)
[x] pezkuwi-zombienet-support v0.44.0
[x] pezkuwi-zombienet-prom-metrics-parser v0.44.0
[x] pezkuwi-zombienet-configuration v0.44.0
[x] pezkuwi-zombienet-provider v0.44.0
[x] pezkuwi-zombienet-orchestrator v0.44.0
[x] pezkuwi-zombienet-sdk v0.44.0
```
---
## YAPILAN DUZELTMELER
### 1. pezpallet-contracts-fixtures Dependency
- `pezpallet-contracts` icindeki `pezpallet-contracts-fixtures` dev-dependency comment out edildi
- Sebep: Test-only crate, crates.io'ya yayinlanmadi
### 2. Zombienet Vendor Crate'leri ✅ COZULDU
- ~~Umbrella'dan kaldirildi: zombienet-configuration, zombienet-orchestrator, prom-metrics-parser, provider, zombienet-sdk, support~~
- **Cozum:** `zombienet-*``pezkuwi-zombienet-*` olarak rebrand edildi ve yayinlandi
- Artik Umbrella'da `pezkuwi-zombienet-*` olarak mevcut
### 3. pezpallet-contracts-mock-network
- Umbrella'dan kaldirildi
- Sebep: Test-only crate, pezpallet-contracts-fixtures'a bagimli
### 4. Crates.io 300 Feature Limiti
- runtime-benchmarks feature'indan ~35 primitives entry'si gecici olarak kaldirildi
- Umbrella yayinlandiktan sonra geri eklendi
---
## YAYINLANAMAYAN CRATE'LER
Bu crate'ler publish=false oldugu icin yayinlanmadi:
| Crate | Sebep |
|-------|-------|
| `pezpallet-contracts-fixtures` | Build script workspace root gerektiriyor |
| `pezpallet-contracts-fixtures-common` | publish=false |
| `pezpallet-contracts-mock-network` | fixtures'a bagimli |
| `pezkuwi-omni-node` | Runtime crate'lere bagimli |
| `pezkuwi-omni-node-lib` | Runtime crate'lere bagimli |
| `pezkuwi-teyrchain-bin` | Runtime crate'lere bagimli |
| Runtime crate'ler (*-runtime) | Genellikle publish=false |
---
## ONEMLI NOTLAR
1. **Rate Limit:** Crates.io yeni crate yayinlama hizini sinirliyor (~10 dakikada 1-2 crate)
2. **Feature Limiti:** Crates.io maksimum 300 feature/dependency limiti var
3. **Zombienet Crate'leri:** `pezkuwi-zombienet-*` olarak yayinlandi (v0.44.0)
4. **Workspace Degisiklikleri:** Bazi test crate'leri dev-dependencies'den comment out edildi
---
## KULLANIM
```toml
# Cargo.toml
[dependencies]
pezkuwi-sdk = "0.1.1"
# Ozel feature'lar icin
pezkuwi-sdk = { version = "0.1.1", features = ["node", "runtime-full"] }
# Zombienet kullanimi icin
pezkuwi-sdk = { version = "0.1.1", features = ["pezkuwi-zombienet-sdk"] }
```
### Zombienet Crate'leri Dogrudan Kullanim
```toml
[dependencies]
pezkuwi-zombienet-sdk = "0.44.0"
pezkuwi-zombienet-configuration = "0.44.0"
pezkuwi-zombienet-orchestrator = "0.44.0"
```
---
*Son guncelleme: 2026-01-01 ~19:00 UTC*
-557
View File
@@ -1,557 +0,0 @@
# PEZKUWI MAINNET ROADMAP
**Oluşturulma:** 2026-01-01
**Son Güncelleme:** 2026-01-08
**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:
- [x] pezkuwichain-runtime (Relay Chain) ✅
- [x] zagros-runtime (Testnet) ✅
- [x] asset-hub-pezkuwichain-runtime ✅
- [x] 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:
- [x] "genesis" - Mainnet preset ✅
- [x] "development" - Dev preset ✅
- [x] "local_testnet" - Local preset ✅
- [x] "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ı
- [x] teyrchain-template-runtime düzeltildi
- [x] Tüm workspace `cargo check` geçiyor
- [x] `cargo clippy --workspace` temiz (-D warnings ile)
### 1.2 Macro ve Supertrait Düzeltmeleri ✅
**Kalıcı çözümler uygulandı (geçici bypass yok):**
- [x] `is_using_frame_crate()``pezframe` ve `pezkuwi_sdk` kontrol ediyor
- [x] `get_frame_crate_path()``pezframe` crate'i buluyor
- [x] `disable_pezframe_system_supertrait_check` attribute'ları kaldırıldı
- [x] Test path'leri `pezframe::` olarak güncellendi
**Düzeltilen dosyalar:**
- `bizinikiwi/pezframe/support/procedural/tools/src/lib.rs`
- `bizinikiwi/pezframe/support/procedural/src/pezpallet/parse/config.rs`
- `docs/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 ✅
- [x] `pezkuwi` (relay chain node) - 146MB ✅
- [x] `pezkuwi-teyrchain` (collator) - 263MB ✅
- [x] `pezkuwi-zombienet` (network spawn CLI) ✅
### 1.5 Template Repo'lar
- [ ] pez-solochain-template → crates.io dependency
- [ ] pez-teyrchain-template → crates.io dependency
### Hedef:
- [x] `cargo check --workspace` başarılı
- [x] `cargo clippy --workspace -D warnings` başarılı
- [x] `cargo build --release` başarılı
---
## FAZ 2: CHAIN-SPEC & GENESIS (IN PROGRESS)
### 2.1 Chain Spec Dosyaları
- [x] pezkuwichain-dev.json (development) ✅ ~3.5MB
- [x] 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 ✅
```toml
# /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ı:**
1. Chain spec'i "plain" formatında generate et, zombienet raw'a çevirsin
2. Genesis preset'te teyrchain önceden kayıtlı olsun
3. Network çalıştıktan sonra sudo ile manuel register
**İlgili Kod:**
- `vendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rs:1040-1079`
- `customize_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:**
- [x] Relay chain başlar ✅ (zombienet spawn 17 saniyede up)
- [x] Bloklar üretilir ✅ (Block #2000+ gözlemlendi)
- [x] Finalize olur ✅ (GRANDPA çalışıyor)
- [x] Asset Hub collator relay'e bağlanır ✅ (1 peer)
- [x] Asset Hub teyrchain blok üretir ✅ (Block #2000+)
- [x] Teyrchain genesis registration ✅
- [ ] People Chain teyrchain başlar (Bu faz için gerekli değil)
- [ ] Cross-chain mesajlaşma çalışır (XCM testi - beklemede)
- [x] HEZ transfer ✅ (pezkuwi-subxt ile başarılı - 2026-01-02)
- [x] 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:**
1. `ParaGenesisArgs` format uyumsuzluğu: Zombienet SDK teyrchain verilerini
`[para_id, [genesis_head, validation_code, is_teyrchain]]` array formatında ekliyordu
2. Ancak runtime bekleyen format: `[para_id, {genesis_head, validation_code, teyrchain}]` object formatı
3. 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`, `teyrchain` alanları 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:**
- [x] Peer discovery çalışır ✅ (her node 2 peer)
- [x] Consensus çalışır ✅ (Alice + Bob senkronize)
- [x] Teyrchain blok üretimi çalışır ✅ (Asset Hub block #59+)
- [x] GRANDPA finality çalışır ✅
#### LOCAL FAZ SONUÇLARI (2026-01-02):
**Zombienet Config:**
```toml
# /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
1. Genesis block oluştur
2. Validators başlat (koordineli)
3. Teyrchain'leri kaydet
4. Collator'ları başlat
5. Public RPC aç
6. Explorer aktif et
7. 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ı ✅ |
| 2026-01-08 | **CI WORKFLOW DÜZELTMELERİ** |
| 2026-01-08 | checks.yml: check-try-runtime job'una SKIP_WASM_BUILD=1 eklendi |
| 2026-01-08 | checks.yml: check-core-crypto-features geçici disable (serde wasm32 issue #355) |
| 2026-01-08 | lightclient/Cargo.toml: std feature'ına native eklendi |
| 2026-01-08 | getting-started.sh: PEZKUWI_TEMPLATE_SOURCE env var desteği eklendi |
| 2026-01-08 | check-getting-started.yml: Lokal template + workspace build kullanımı |
| 2026-01-08 | Tüm CI komutları lokal test edildi ve geçti ✅ |
---
## 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_dispatch` trigger
- `push-master.yml``push-main.yml`: `main` branch'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:**
1. `package.json`: @pezkuwi dependencies güncellendi
2. `npm overrides`: Dependency version mismatch'ler düzeltildi
3. `vite.config.ts`: `@pezkuwi/types` alias → `@local/types` (npm paketi ile çakışmayı önlemek için)
4. `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 --workspace` baş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ı
```bash
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.*
-201
View File
@@ -1,201 +0,0 @@
# PEZKUWI SDK - PROJECT STATE
**Son Güncelleme:** 2026-01-02
**Bu dosya SessionStart hook tarafından otomatik okunur**
---
## PROJE NEDİR
Pezkuwi SDK, Polkadot SDK'nın tamamen rebrand edilmiş BAĞIMSIZ bir fork'udur.
- Polkadot ile artık HİÇBİR ilişkisi yoktur
- Tüm crate'ler crates.io'da yayınlanmıştır (~516 crate)
- Kendi token ekonomisi vardır (HEZ + PEZ)
---
## KRİTİK KURALLAR - MUTLAKA OKU
1. **ASLA Polkadot.js API önerme** - Rebrand nedeniyle çalışmıyor
2. **ASLA rebrand'i geri alma** - Terminoloji kalıcı
3. **ASLA geçici çözüm önerme** - Kalıcı çözümler bul
4. **ÖNCE mevcut araçları kontrol et** - Aşağıdaki listeye bak
---
## MEVCUT ARAÇLAR (ZATEN MEVCUT - YENİDEN YAZMA)
### 1. pezkuwi-subxt (Token Transfer, RPC)
```
Konum: /home/mamostehp/pezkuwi-sdk/vendor/pezkuwi-subxt/
Durum: TAMAMLANDI - Kullanıma hazır
Kullanım: Token transfer, chain query, extrinsic submit
```
**Polkadot.js yerine BUNU KULLAN!**
### 2. pezkuwi-zombienet-sdk (Network Orchestration)
```
Konum: /home/mamostehp/pezkuwi-sdk/vendor/pezkuwi-zombienet-sdk/
Binary: /home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-zombienet
Durum: TAMAMLANDI - ParaGenesisArgs fix uygulandı
```
### 3. pezkuwi (Relay Chain Node)
```
Binary: /home/mamostehp/pezkuwi-sdk/target/release/pezkuwi
Durum: TAMAMLANDI - Build edildi
```
### 4. pezkuwi-teyrchain (Collator)
```
Binary: /home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-teyrchain
Durum: TAMAMLANDI - Build edildi
```
---
## CI/CD ALTYAPISI (GitHub Actions Self-Hosted Runners)
| VPS | IP | CPU | RAM | Runner Sayısı |
|-----|-----|-----|-----|---------------|
| VPS1 | 37.60.230.9 | 8 | 23GB | 3 |
| VPS2 | 62.146.235.186 | 16 | 62GB | 7 |
| VPS3 | 217.77.6.126 | 18 | 94GB | 10 |
| VPS-NEW-1 | 217.77.15.51 | 4 | 8GB | 1 |
| VPS-NEW-2 | 161.97.183.44 | 4 | 8GB | 1 |
| VPS-NEW-3 | 161.97.185.100 | 4 | 8GB | 1 |
| **TOPLAM** | - | **54** | **203GB** | **23** |
### SSH Erişimi
```bash
ssh root@37.60.230.9 # VPS1
ssh root@62.146.235.186 # VPS2
ssh root@217.77.6.126 # VPS3
ssh root@217.77.15.51 # VPS-NEW-1 (şifre: SqM210305yBkBnm90)
ssh root@161.97.183.44 # VPS-NEW-2 (şifre: SqM210305yBkBnm90)
ssh root@161.97.185.100 # VPS-NEW-3 (şifre: SqM210305yBkBnm90)
```
### Notlar
- VPS1'de production servisleri de çalışıyor (ai-lawyer, safechild, naturel-bot)
- Runner versiyon: v2.321.0 (yeni VPS'ler)
- Docker network pool dolunca VPS reboot gerekebilir
- Yeni VPS'ler 2026-01-27 tarihinde eklendi
---
## TERMİNOLOJİ (ASLA ESKİ TERİMLERİ KULLANMA)
| ESKİ (KULLANMA) | YENİ (KULLAN) |
|-----------------|---------------|
| parachain | teyrchain |
| Polkadot | Pezkuwi |
| polkadot | pezkuwi |
| Substrate | Bizinikiwi |
| substrate | bizinikiwi |
| Cumulus | Pezcumulus |
| Westend | Zagros |
| Rococo | Pezkuwichain |
| paritytech | pezkuwichain |
| sp- | pezsp- |
| sc- | pezsc- |
| frame- | pezframe- |
| pallet- | pezpallet- |
---
## TOKEN EKONOMİSİ
### HEZ (Relay Chain Native Token)
- Genesis: 200,000,000 HEZ
- Model: DOT benzeri inflationary
- Unit: 1 HEZ = 10^18 TYR
### PEZ (Asset Hub Governance Token)
- Supply: 5,000,000,000 PEZ (sabit)
- Asset ID: 1 (Asset Hub'da)
- wHEZ Asset ID: 2
---
## MAINNET ROADMAP DURUMU
| Faz | Durum |
|-----|-------|
| FAZ 0: Analiz | ✅ TAMAMLANDI |
| FAZ 1: Kod | ✅ TAMAMLANDI |
| FAZ 2: Chain-spec | ✅ TAMAMLANDI |
| FAZ 3: Network Test | 🔄 IN PROGRESS |
| FAZ 4: Mainnet | PENDING |
### FAZ 3 Detay:
- DEV (1 validator): ✅ TAMAMLANDI
- LOCAL (2 validator): ✅ TAMAMLANDI
- ALPHA (4 validator): BEKLEMEDE
- BETA (8 validator): BEKLEMEDE
- STAGING (21 validator): BEKLEMEDE
---
## ÇÖZÜLEN KRİTİK SORUNLAR
### 1. Teyrchain Genesis Registration (2026-01-02)
**Sorun:** Teyrchain block #0'da kalıyordu
**Kök Neden:** ParaGenesisArgs format uyumsuzluğu (array vs object)
**Çözüm:** `vendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rs` düzeltildi
**Durum:** ÇÖZÜLDÜ
### 2. Polkadot.js API Uyumsuzluğu → ÇÖZÜLDÜ
**Sorun:** "Expected 32 bytes, found 48 bytes" AccountId hatası
**Kök Neden:** Rebrand edilmiş metadata type mismatch
**Çözüm:** pezkuwi-subxt kullanıldı
**Durum:** ✅ ÇÖZÜLDÜ (2026-01-02)
**Token Transfer Test Sonucu:**
```
✓ Connected to Pezkuwichain node
✓ Transaction finalized!
✓ Transfer event: 1,000,000,000,000 TYR (1 HEZ) Alice → Bob
```
**Test Dosyası:** `vendor/pezkuwi-subxt/subxt/examples/tx_pezkuwichain.rs`
**Çalıştırma:** `cargo run --release -p pezkuwi-subxt --example tx_pezkuwichain`
---
## ZOMBIENET CONFIG DOSYALARI
```
/home/mamostehp/pezkuwi-sdk/zombienet-dev.toml # 1 validator (DEV)
/home/mamostehp/pezkuwi-sdk/zombienet-local.toml # 2 validator (LOCAL)
```
### Spawn Komutu:
```bash
cd /home/mamostehp/pezkuwi-sdk
./target/release/pezkuwi-zombienet spawn -p native zombienet-dev.toml
```
---
## KRİTİK DOSYA KONUMLARI
| Dosya | Konum |
|-------|-------|
| CLAUDE.md | `/home/mamostehp/pezkuwi-sdk/.claude/CLAUDE.md` |
| MAINNET_ROADMAP.md | `/home/mamostehp/pezkuwi-sdk/.claude/MAINNET_ROADMAP.md` |
| TERMINOLOGY.md | `/home/mamostehp/pezkuwi-sdk/.claude/TERMINOLOGY.md` |
| Genesis presets | `pezkuwi/runtime/pezkuwichain/src/genesis_config_presets.rs` |
| Asset Hub presets | `pezcumulus/teyrchains/runtimes/assets/asset-hub-pezkuwichain/src/genesis_config_presets.rs` |
---
## SONRAKİ ADIMLAR (ÖNCELİK SIRASI)
1. **pezkuwi-subxt ile token transfer testi** - API çalışıyor mu doğrula
2. **XCM messaging testi** - Relay ↔ Asset Hub iletişimi
3. **ALPHA network** - 4 validator konfigürasyonu
---
*Bu dosya SessionStart hook tarafından otomatik yüklenir. Güncel tutun!*
-392
View File
@@ -1,392 +0,0 @@
# 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
1. STAGE 1: Internal Testnet (bizim VPS'ler)
2. STAGE 2: Public RPC
3. 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ı:
```rust
// 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:
```rust
// 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` - RuntimeResolver
- `vendor/pezkuwi-zombienet-sdk/crates/orchestrator/src/generators/chain_spec.rs`
- `vendor/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:**
1. Zombienet timeout değerlerini artır
2. Systemd service ile deployment (zombienet yerine)
3. 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.
```bash
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.
```toml
# 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
- [x] Ed25519/Sr25519 fix commit edildi
- [x] 21 validator ile local test geçti
- [x] 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:**
```bash
# 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 (`zagros` veya `pezkuwichain-testnet`)
- [ ] Genesis config'i düzenle (validator listesi)
- [ ] Raw chain spec oluştur
**Komutlar:**
```bash
# 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`
```ini
[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:**
```bash
# 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-external` flag'i ekle
- [ ] `--rpc-cors all` flag'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
```bash
# 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
```bash
ssh root@VPS_IP "cd /root/pezkuwi-sdk && git fetch origin && git reset --hard origin/main"
```
### Process Kontrol
```bash
# Ç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
```bash
# 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
```bash
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!*
-205
View File
@@ -1,205 +0,0 @@
# Rebrand İlerleme Listesi
**Son Güncelleme:** 2025-12-27
**Toplam Crate:** 76 (REBRAND_MAP'ten)
**Rebrand Durumu:** 75/76 tamamlandı (98.7%)
**Derleme Durumu:** ✅ WORKSPACE TAM DERLENİYOR
## Durum Açıklamaları
- ⏳ Bekliyor
- ✅ Rebrand Tamamlandı (Cargo.toml name doğru)
- 🔨 Derleme Hatası (rebrand tamam ama compile hatası var)
- ❌ Eksik/Bulunamadı
---
## Özet
| Kategori | Toplam | Tamamlanan | Durum |
|----------|--------|------------|-------|
| pez-* prefix | 29 | 29 | ✅ |
| pezbridge-* | 8 | 8 | ✅ |
| pezsnowbridge-* | 25 | 24 | ⚠️ 1 eksik |
| xcm-pez-* | 8 | 8 | ✅ |
| pezmmr-* | 2 | 2 | ✅ |
| bp/pezbp-* | 2 | 2 | ✅ |
| peztest-* | 1 | 1 | ✅ |
| asset-test-pezutils | 1 | 1 | ✅ |
| **TOPLAM** | **76** | **75** | **98.7%** |
---
## İlerleme Tablosu
| # | Yeni İsim | Durum | Konum |
|---|-----------|-------|-------|
| 1 | asset-test-pezutils | ✅ | pezcumulus/teyrchains/runtimes/assets/test-utils |
| 2 | pez-chain-spec-guide-runtime | ✅ | docs/sdk/src/reference_docs/chain_spec_runtime |
| 3 | pez-equivocation-detector | ✅ | pezbridges/relays/equivocation |
| 4 | pez-erasure-coding-fuzzer | ✅ | pezkuwi/erasure-coding/fuzzer |
| 5 | pez-ethereum-standards | ✅ | bizinikiwi/primitives/pez-ethereum-standards |
| 6 | pez-finality-relay | ✅ | pezbridges/relays/finality |
| 7 | pez-fork-tree | ✅ | bizinikiwi/utils/pez-fork-tree |
| 8 | pez-generate-bags | ✅ | bizinikiwi/utils/pezframe/pez-generate-bags |
| 9 | pez-kitchensink-runtime | ✅ | bizinikiwi/bin/node/runtime |
| 10 | pez-messages-relay | ✅ | pezbridges/relays/messages |
| 11 | pez-minimal-template-node | ✅ | templates/minimal/node |
| 12 | pez-minimal-template-runtime | ✅ | templates/minimal/runtime |
| 13 | pez-node-bench | ✅ | bizinikiwi/bin/node/bench |
| 14 | pez-node-primitives | ✅ | bizinikiwi/bin/node/primitives |
| 15 | pez-node-rpc | ✅ | bizinikiwi/bin/node/rpc |
| 16 | node-runtime-pez-generate-bags | ✅ | bizinikiwi/utils/pezframe/pez-generate-bags/node-runtime |
| 17 | pez-node-template-release | ✅ | bizinikiwi/scripts/ci/pez-node-template-release |
| 18 | pez-node-testing | ✅ | bizinikiwi/bin/node/testing |
| 19 | pez-penpal-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/testing/penpal |
| 20 | pez-penpal-runtime | ✅ | pezcumulus/teyrchains/runtimes/testing/penpal |
| 21 | pez-remote-ext-tests-bags-list | ✅ | pezkuwi/utils/remote-ext-tests/bags-list |
| 22 | pez-revive-dev-node | ✅ | bizinikiwi/pezframe/revive/dev-node/node |
| 23 | pez-revive-dev-runtime | ✅ | bizinikiwi/pezframe/revive/dev-node/runtime |
| 24 | pez-slot-range-helper | ✅ | pezkuwi/runtime/common/pez-slot-range-helper |
| 25 | pez-solochain-template-node | ✅ | templates/solochain/node |
| 26 | pez-solochain-template-runtime | ✅ | templates/solochain/runtime |
| 27 | pez-subkey | ✅ | bizinikiwi/bin/utils/pez-subkey |
| 28 | pez-template-zombienet-tests | ✅ | templates/zombienet |
| 29 | peztest-runtime-constants | ✅ | pezkuwi/runtime/test-runtime/constants |
| 30 | pez-tracing-gum | ✅ | pezkuwi/node/gum |
| 31 | pez-tracing-gum-proc-macro | ✅ | pezkuwi/node/gum/proc-macro |
| 32 | bp-header-pez-chain | ✅ | pezbridges/primitives/header-chain |
| 33 | pezbp-runtime | ✅ | pezbridges/primitives/runtime |
| 34 | pezbridge-hub-pezkuwichain-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/pezbridges/bridge-hub-pezkuwichain |
| 35 | pezbridge-hub-pezkuwichain-integration-tests | ✅ | pezcumulus/teyrchains/integration-tests/emulated/tests/pezbridges/bridge-hub-pezkuwichain |
| 36 | pezbridge-hub-pezkuwichain-runtime | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-pezkuwichain |
| 37 | pezbridge-hub-test-utils | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/test-utils |
| 38 | pezbridge-hub-zagros-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/pezbridges/bridge-hub-zagros |
| 39 | pezbridge-hub-zagros-integration-tests | ✅ | pezcumulus/teyrchains/integration-tests/emulated/tests/pezbridges/bridge-hub-zagros |
| 40 | pezbridge-hub-zagros-runtime | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-zagros |
| 41 | pezbridge-runtime-common | ✅ | pezbridges/bin/runtime-common |
| 42 | pezmmr-gadget | ✅ | bizinikiwi/client/merkle-mountain-range |
| 43 | pezmmr-rpc | ✅ | bizinikiwi/client/merkle-mountain-range/rpc |
| 44 | pezsnowbridge-beacon-primitives | ✅ | pezbridges/snowbridge/primitives/beacon |
| 45 | pezsnowbridge-core | ✅ | pezbridges/snowbridge/primitives/core |
| 46 | pezsnowbridge-ethereum | ✅ | pezbridges/snowbridge/primitives/ethereum |
| 47 | pezsnowbridge-inbound-queue-primitives | ✅ | pezbridges/snowbridge/primitives/inbound-queue |
| 48 | pezsnowbridge-merkle-tree | ✅ | pezbridges/snowbridge/primitives/merkle-tree |
| 49 | pezsnowbridge-outbound-queue-primitives | ✅ | pezbridges/snowbridge/primitives/outbound-queue |
| 50 | pezsnowbridge-outbound-queue-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue/runtime-api |
| 51 | pezsnowbridge-outbound-queue-v2-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue-v2/runtime-api |
| 52 | pezsnowbridge-pezpallet-ethereum-client | ✅ | pezbridges/snowbridge/pezpallets/ethereum-client |
| 53 | pezsnowbridge-pezpallet-ethereum-client-fixtures | ✅ | pezbridges/snowbridge/pezpallets/ethereum-client/fixtures |
| 54 | pezsnowbridge-pezpallet-inbound-queue | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue |
| 55 | pezsnowbridge-pezpallet-inbound-queue-fixtures | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue/fixtures |
| 56 | pezsnowbridge-pezpallet-inbound-queue-v2 | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue-v2 |
| 57 | pezsnowbridge-pezpallet-inbound-queue-v2-fixtures | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue-v2/fixtures |
| 58 | pezsnowbridge-pezpallet-outbound-queue | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue |
| 59 | pezsnowbridge-pezpallet-outbound-queue-v2 | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue-v2 |
| 60 | pezsnowbridge-pezpallet-system | ✅ | pezbridges/snowbridge/pezpallets/system |
| 61 | pezsnowbridge-pezpallet-system-frontend | ✅ | pezbridges/snowbridge/pezpallets/system-frontend |
| 62 | pezsnowbridge-pezpallet-system-v2 | ✅ | pezbridges/snowbridge/pezpallets/system-v2 |
| 63 | pezsnowbridge-runtime-common | ❌ | Mevcut değil veya farklı isimle |
| 64 | pezsnowbridge-runtime-test-common | ✅ | pezbridges/snowbridge/runtime/test-common |
| 65 | pezsnowbridge-system-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/system/runtime-api |
| 66 | pezsnowbridge-system-v2-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/system-v2/runtime-api |
| 67 | pezsnowbridge-test-utils | ✅ | pezbridges/snowbridge/test-utils |
| 68 | pezsnowbridge-verification-primitives | ✅ | pezbridges/snowbridge/primitives/verification |
| 69 | xcm-pez-docs | ✅ | pezkuwi/xcm/docs |
| 70 | xcm-pez-emulator | ✅ | pezcumulus/xcm/xcm-pez-emulator |
| 71 | xcm-pez-executor-integration-tests | ✅ | pezkuwi/xcm/xcm-executor/integration-tests |
| 72 | xcm-pez-procedural | ✅ | pezkuwi/xcm/procedural |
| 73 | xcm-runtime-pezapis | ✅ | pezkuwi/xcm/xcm-runtime-pezapis |
| 74 | xcm-pez-simulator | ✅ | pezkuwi/xcm/xcm-pez-simulator |
| 75 | xcm-pez-simulator-example | ✅ | pezkuwi/xcm/xcm-pez-simulator/example |
| 76 | xcm-pez-simulator-fuzzer | ✅ | pezkuwi/xcm/xcm-pez-simulator/fuzzer |
---
## Bilinen Derleme Sorunları
~~Bu crate'lerin rebrand'i tamamlandı ancak derleme hataları var:~~
1. ~~**pez-kitchensink-runtime** - 622 hata~~ ✅ ÇÖZÜLDÜ (derleniyor)
2. ~~**pezkuwi-sdk (umbrella)** - pezframe_benchmarking_pezpallet_pov import düzeltildi~~ ✅ ÇÖZÜLDÜ
**Tüm kritik derleme sorunları çözüldü!**
## ✅ Derleme Tamamlanan Özel Crate'ler
1. **pezpallet-revive-eth-rpc** ✅ (2025-12-19)
- pezkuwi-subxt fork ile tam uyumlu hale getirildi
- Tüm substitute_type path'ler pezsp_runtime/pezpallet_revive olarak güncellendi
- StorageApi → StorageClientAt API güncellemesi yapıldı
- RuntimeApiError pattern matching düzeltildi
- SQLX cache yeniden oluşturuldu (eth_to_bizinikiwi_blocks)
2. **bizinikiwi-txtesttool** ✅ (2025-12-19)
- subxt 0.44 dynamic storage API güncellemesi (try_fetch, Value type)
- From<ExtrinsicError> for Error eklendi
3. **pezkuwi-omni-node-lib** ✅ (2025-12-19)
- StorageEntryType → keys()/value_ty() API güncellemesi
### Bu Oturumda Düzeltilen Sorunlar:
1. `pezpallet-contracts-fixtures/build/Cargo.toml` - workspace inheritance kaldırıldı
2. `pezpallet-revive-fixtures/build.rs` - panic_immediate_abort yeni syntax'a güncellendi
3. `asset-hub-zagros pezpezsnowbridge``pezsnowbridge` double prefix düzeltildi
4. `bridge-hub-pezkuwichain/weights` - snowbridge_pezpallet → pezsnowbridge_pezpallet dosya rename
5. `bridge-hub-zagros/weights` - aynı rename
6. `umbrella/src/lib.rs` - pezframe_benchmarking_pallet_pov → pezframe_benchmarking_pezpallet_pov
---
## Sonraki Adımlar
1. [x] Derleme hatalarını düzelt (pez-kitchensink-runtime) ✅ (derleniyor)
2. [x] pezpallet-revive-eth-rpc derlenmesi ✅ (2025-12-19)
3. [x] **Workspace-wide cargo check** ✅ (2025-12-19) - BAŞARILI!
4. [x] **CI/CD workflow'larını güncelle** ✅ (2025-12-27)
5. [ ] **Crates.io publish planına geç** ← SIRADAKİ (CI geçtikten sonra)
---
## Log
### 2025-12-27
- **CI/CD Workflow Fixes Tamamlandı:**
- `wasm32v1-none` target installation kaldırıldı (serde_core 1.0.228 uyumsuzluğu)
- Sassafras benchmark data file (25_tickets_100_auths.bin) gitignore exception eklendi ve commit edildi
- 590 Cargo.toml dosyasında documentation URL'leri `documentation.workspace = true` olarak güncellendi
- workflow-stopper GitHub App credentials güncellendi (App ID: 2423876)
- Upstream issue oluşturuldu: https://github.com/serde-rs/serde/issues/3021
- **VPS Runner Infrastructure:**
- VPS1 (37.60.230.9) - ubuntu-large runner aktif
- VPS2 (62.146.235.186) - ubuntu-xlarge runner aktif
- Her iki runner paralel çalışıyor
### 2024-12-23
- **Umbrella eksik crate düzeltmeleri:**
- `pezpallet-root-testing` umbrella'ya eklendi (std, try-runtime, runtime-full features)
- `pezpallet-xcm-benchmarks` umbrella'ya eklendi (std, runtime-benchmarks, runtime-full features)
- Her iki crate için lib.rs re-export eklendi
- **pez-kitchensink-runtime** artık tam olarak derleniyor
- **cargo clippy -p pez-kitchensink-runtime -- -D warnings** geçti
### 2025-12-19
- **WORKSPACE CARGO CHECK BAŞARILI!** ✅
- **pezpallet-revive-eth-rpc** başarıyla derlendi
- **pez-kitchensink-runtime** derleme doğrulandı ✅ (622 hata iddiası yanlıştı)
- vendor/pezkuwi-subxt fork'u oluşturuldu ve workspace'den exclude edildi
- subxt 0.44.0 API değişiklikleri uygulandı:
- StorageClientAt, try_fetch, RuntimeApiError (revive-eth-rpc)
- dynamic storage API (txtesttool)
- StorageEntryType → keys()/value_ty() (omni-node-lib)
- Tüm substitute_type path'leri pezsp_runtime/pezpallet_revive prefix'leriyle güncellendi
- SQLX cache yeniden oluşturuldu (bizinikiwi terminolojisi ile)
- kurdistan-sdk dizini düzenlendi (gereksiz scriptler archive/ klasörüne taşındı)
### 2025-12-16
- Rebrand durumu tam olarak değerlendirildi
- 75/76 crate rebrand tamamlanmış bulundu
- pezsnowbridge-runtime-common mevcut değil (muhtemelen merge edilmiş)
- REBRAND_PROGRESS.md gerçek durumu yansıtacak şekilde güncellendi
- Birkaç derleme hatası düzeltildi (fixtures build scripts, weight file renames)
### 2025-12-15
- İlerleme listesi oluşturuldu
- scan_old_words.py scripti hazırlandı
-138
View File
@@ -1,138 +0,0 @@
# SON OTURUM ÖZETİ
**Tarih:** 2026-01-25
**Oturum:** Doc Test Düzeltmeleri + Mainnet Config Commit
---
## BU OTURUMDA YAPILAN
### 1. Doc Test Düzeltmeleri (TAMAMLANDI ✅)
**Commit:** `ce729f6283`
| Dosya | Sorun | Çözüm |
|-------|-------|-------|
| `pezframe/src/lib.rs` | Yanlış import `pezkuwi_sdk_frame` | `pezframe` olarak düzeltildi + documented ignore |
| `pezframe-election-provider-solution-type` | Circular dependency | Documented ignore (testler `pezframe-election-provider-support/src/tests.rs`'de) |
| `pezframe-support/Cargo.toml` | Eksik dev-dependency | `pezsp-timestamp` eklendi |
| `pezframe-support-procedural` | Circular dependency | Documented ignore (authorize test) |
| `pezkuwi-subxt/src/lib.rs` | Metadata mismatch (`sp_runtime` vs `pezsp_runtime`) | Documented ignore |
### 2. Mainnet Konfigürasyonu (TAMAMLANDI ✅)
**Commit:** `355aa642ed`
- `pezkuwichain_mainnet_config()` fonksiyonu eklendi
- "pezkuwichain-mainnet" CLI seçeneği eklendi
- Asset Hub genesis: wUSDT (ID: 1000) eklendi, mainnet cüzdanlar güncellendi
- People Chain genesis: Mainnet collator adresleri güncellendi
- Collator isimleri: Azad, Beritan, Civan, Dildar (Asset Hub) / Erin, Firaz, Goran, Hevi (People)
### 3. Zombienet Dosyaları Silindi (TAMAMLANDI ✅)
**Commit:** `8362d67879`
- `zombienet-alpha.toml` silindi
- `zombienet-dev.toml` silindi
- `zombienet-local.toml` silindi
### 4. Tools Dizini Eklendi (TAMAMLANDI ✅)
**Commit:** `5c39914ae8`
- `tools/chain-spec-tool/` - Chain spec utility
- `tools/usdt-bridge/` - wUSDT custodial bridge
### 5. .gitignore Güncellendi (TAMAMLANDI ✅)
**Commit:** `c8021df450`
- `relay-mainnet.json` (generated)
- `tools/usdt-bridge/bridge_db.json` (runtime data)
- `.claude/domains-repositories` (session file)
---
## COMMIT ÖZET
```
ce729f6283 fix: doc test compilation errors with documented ignores
355aa642ed feat: add pezkuwichain mainnet configuration
8362d67879 chore: remove obsolete zombienet config files
5c39914ae8 feat: add chain-spec-tool and usdt-bridge utilities
c8021df450 chore: add generated files to .gitignore
```
---
## ÖNCEKİ OTURUMLARDAN DEVAM
### Alloy Crates Upgrade ✅
- Commit: `3ca9e6ccd3`
### serde_core wasm32 Fix ✅
- Commit (serde fork): `0a75fdd8`
- Commit (pezkuwi-sdk): `7cc45454ff`
### dicle.json Chain Spec ✅
- Commit: `329024ea7c`
### Ed25519/Sr25519 Key Scheme Fix ✅
- Commit: `f52eb30abb`
---
## NEREDE KALDIK
**Mevcut Durum:**
- Tüm doc test düzeltmeleri commit edildi
- Mainnet konfigürasyonu commit edildi
- Tools dizini eklendi
- Push edilmeye hazır
**Sonraki Adımlar:**
1. Push yap
2. CI sonuçlarını bekle
3. STAGE 1.1 - Validator Key Oluşturma
4. Chain spec oluşturma
5. VPS deployment
**Checklist (STAGE 1):**
- [x] Ed25519/Sr25519 fix
- [x] 21 validator test (local/VPS2)
- [x] VPS kapasite kontrolü
- [x] CI workflow düzeltmeleri
- [x] Doc test düzeltmeleri
- [x] Mainnet config commit
- [ ] Validator key'leri oluştur
- [ ] Chain spec oluştur
- [ ] Systemd service dosyaları
- [ ] VPS deployment
- [ ] Bootnode yapılandırması
- [ ] 24 saat stability test
---
## KRİTİK NOTLAR SONRAKİ CLAUDE İÇİN
1. **DOC TEST FIX YAPILDI** - Commit `ce729f6283`
2. **MAINNET CONFIG COMMIT EDİLDİ** - Commit `355aa642ed`
3. **TOOLS EKLENDİ** - chain-spec-tool, usdt-bridge
4. **wUSDT ASSET** - ID: 1000, 6 decimals
5. **PUSH BEKLIYOR** - Tüm değişiklikler local'de commit edildi
---
## ÖNEMLİ DOSYALAR
| Dosya | Açıklama |
|-------|----------|
| `.claude/PUBLIC_TESTNET_ROADMAP.md` | Testnet checklist ve plan |
| `pezkuwi/node/service/src/chain_spec.rs` | Mainnet config ✅ |
| `tools/chain-spec-tool/` | Chain spec utility |
| `tools/usdt-bridge/` | wUSDT bridge |
---
*Bu dosyayı her oturum sonunda güncelle!*
-311
View File
@@ -1,311 +0,0 @@
# Pezkuwi SDK - CI Workflow Mühendislik Planı
> **KURAL:** Bu dosyadaki komutları birebir çalıştır. Kendi komutunu uydurma.
## Lokal Test Durumu (development branch)
| Durum | Sayı |
|-------|------|
| ✅ Lokal Geçti | 34 |
| ⏳ CI'da Test Edilecek | 8 |
| ❌ Başarısız | 0 |
---
## SON CI DÜZELTMELERİ (2025-12-27)
### PR #346 - wasm32v1-none target kaldırıldı (MERGED)
**Problem:** serde_core 1.0.228 + Rust 1.88.0 + wasm32v1-none target kombinasyonu derleme hatası veriyordu:
```
error: relaxing a default bound only does something for `?Sized`
```
**Çözüm:** wasm32v1-none target kurulumu kaldırıldı, wasm-builder otomatik olarak wasm32-unknown-unknown'a fallback ediyor.
**Upstream Issue:** https://github.com/serde-rs/serde/issues/3021
**Güncellenen workflow dosyaları:**
- tests.yml
- tests-linux-stable.yml
- tests-misc.yml
- build-publish-images.yml
- check-pezframe-omni-bencher.yml
### Sassafras Benchmark Data File Fix
**Problem:** `25_tickets_100_auths.bin` dosyası gitignore'da `*.bin` kuralı nedeniyle repo'ya eklenmemişti.
**Çözüm:** `.gitignore`'a exception eklendi ve dosya repo'ya dahil edildi.
### Documentation URLs Update (590 dosya)
**Problem:** Birçok Cargo.toml dosyasında `documentation = "https://docs.rs/..."` kullanılıyordu.
**Çözüm:** Tüm docs.rs URL'leri `documentation.workspace = true` olarak güncellendi (workspace'ten `https://docs.pezkuwichain.io/` alınıyor).
### Workflow-Stopper Credentials Update
**Problem:** GitHub App JWT token hatası veriyordu.
**Çözüm:** Repository secrets güncellendi:
- `WORKFLOW_STOPPER_RUNNER_APP_ID` = 2423876
- `WORKFLOW_STOPPER_RUNNER_APP_KEY` = Yeni private key
---
### ÖNCEKİ: PR #344 - solc version fix (MERGED)
- solc 0.8.30 pinlendi (revive uyumluluğu için)
### ÖNCEKİ: PR #345 - WASM build + macOS pip fix (MERGED)
**Düzeltilen hatalar:**
1. **macOS pip externally-managed-environment**: `--break-system-packages` flag eklendi
2. **WASM getrandom/duplicate lang item**: `rustup target add wasm32v1-none` eklendi (sonra PR #346 ile kaldırıldı)
---
## FAZ 1: Başarısız Workflow'lar (10 workflow, ~30 job)
### 1.1 quick-checks.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `check-toml-format` | ✅ | `taplo format --check --config .config/taplo.toml` |
| `check-markdown` | ✅ | `markdownlint --config .github/.markdownlint.yaml --ignore target --ignore vendor .` |
| `fmt` | ✅ | `cargo fmt --all -- --check` |
| `check-zepter` | ✅ | `zepter run check` |
| `check-workspace` | ✅ | `python3 .github/scripts/check-workspace.py .` |
| `check-dependency-rules` | ✅ | `python3 .github/scripts/deny-git-deps.py .` |
| `check-umbrella` | ✅ | `python3 scripts/generate-umbrella.py --check` |
| `test-rust-features` | ✅ | `.gitlab/rust-features.sh .` |
| `check-fail-ci` | ✅ | `! grep -r "FAIL-CI" --include="*.rs" . --exclude-dir=target` |
| `check-readme` | ✅ | `.github/scripts/check-missing-readme-generation.sh` |
**Düzeltme:**
```bash
# TOML format düzelt
taplo format --config .config/taplo.toml
# Markdown düzelt
markdownlint --config .github/.markdownlint.yaml --ignore target --ignore vendor . --fix
```
---
### 1.2 checks.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `cargo-clippy` | ✅ | `RUSTFLAGS="-D warnings" SKIP_WASM_BUILD=1 cargo clippy --all-targets --all-features --locked --workspace --quiet` |
| `check-try-runtime` | ✅ | Aşağıdaki 3 komut sırayla çalıştırılmalı |
| `check-core-crypto-features` | ✅ | Aşağıdaki 3 script çalıştırılmalı |
**check-try-runtime komutları:**
```bash
cargo check --locked --all --features try-runtime --quiet
cargo check --locked -p teyrchain-template-node --features try-runtime
cargo check --locked --all --features try-runtime,experimental --quiet
```
**check-core-crypto-features komutları:**
```bash
./bizinikiwi/primitives/core/check-features-variants.sh
./bizinikiwi/primitives/application-crypto/check-features-variants.sh
./bizinikiwi/primitives/keyring/check-features-variants.sh
```
---
### 1.3 docs.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `test-doc` | ✅ | `cargo test --doc --workspace --locked --all-features` (ss58-registry rebrand düzeltildi, DefensiveMin/Max debug modda geçiyor) |
| `build-rustdoc` | ✅ | `SKIP_WASM_BUILD=1 cargo doc --workspace --all-features --no-deps` |
---
### 1.4 tests.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `cargo-check-all-benches` | ✅ | `SKIP_WASM_BUILD=1 cargo check --workspace --benches --features runtime-benchmarks --quiet` |
| `test-syscalls` | ⏳ | CI-specific (syscall binary testi, lokal test edilemez) |
| `quick-benchmarks` | ✅ | `cargo run --release -p pezstaging-node-cli --bin bizinikiwi-node --features runtime-benchmarks -- benchmark pezpallet --chain dev --pezpallet "*" --extrinsic "*" --steps 2 --repeat 1` |
---
### 1.5 tests-linux-stable.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `test-linux-stable` | ⏳ | `cargo nextest run --workspace --locked --release --features try-runtime,experimental,ci-only-tests` (CI'da çalışacak) |
| `test-linux-stable-int` | ⏳ | `cargo test -p pezstaging-node-cli --release --locked -- --ignored` (CI'da çalışacak) |
| `test-linux-stable-no-try-runtime` | ⏳ | `cargo nextest run --workspace --locked --release --features experimental,ci-only-tests` (CI'da çalışacak) |
| `test-linux-stable-runtime-benchmarks` | ⏳ | `cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet` (CI'da çalışacak) |
---
### 1.6 tests-misc.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `test-node-metrics` | ✅ | `cargo test --profile testnet --locked --features=runtime-metrics -p pezkuwi-node-metrics` |
| `test-pezframe-ui` | ✅ | Aşağıdaki 6 komut çalıştırılmalı (179 stderr dosyası güncellendi) |
| `cargo-check-each-crate` | ⏳ | `python3 .github/scripts/check-each-crate.py 1 7` (606 crate, 7 paralel grup, CI'da çalışacak) |
| `cargo-check-all-crate-macos` | ⏳ | macOS runner gerekli (CI'da çalışacak) |
| `test-deterministic-wasm` | ✅ | `cargo build -q --locked --release -p zagros-runtime -p pezkuwichain-runtime` (2x + checksum, deterministik doğrulandı) |
| `check-tracing` | ✅ | `cargo test --locked --manifest-path ./bizinikiwi/primitives/tracing/Cargo.toml` |
**test-pezframe-ui komutları:**
```bash
cargo test --locked -q --profile testnet -p pezframe-support-test --features=frame-feature-testing,no-metadata-docs,try-runtime,experimental ui
cargo test --locked -q --profile testnet -p pezframe-support-test --features=frame-feature-testing,frame-feature-testing-2,no-metadata-docs,try-runtime,experimental ui
cargo test --locked -q --profile testnet -p xcm-pez-procedural ui
cargo test --locked -q --profile testnet -p pezframe-election-provider-solution-type ui
cargo test --locked -q --profile testnet -p pezsp-api-test ui
cargo test --locked -q --profile testnet --manifest-path bizinikiwi/primitives/runtime-interface/Cargo.toml ui
```
---
### 1.7 tests-evm.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `evm-test-suite (test:pvm)` | ✅ | Binary'ler derlendi: `cargo build --release -p pezpallet-revive-eth-rpc -p pez-revive-dev-node` |
| `differential-tests` | ✅ | Binary'ler derlendi, resolc GitHub releases'ten indirilir |
---
### 1.8 build-misc.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `build-runtimes-polkavm` | ✅ | `BIZINIKIWI_RUNTIME_TARGET=riscv cargo check -p pez-minimal-template-runtime -p zagros-runtime -p pezkuwichain-runtime -p pezkuwi-test-runtime` |
| `check-revive-stable-uapi-polkavm` | ✅ | `cargo +nightly check -p pezpallet-revive-uapi --no-default-features --target riscv64imac-unknown-none-elf -Zbuild-std=core` |
| `build-pez-subkey` | ✅ | `cd bizinikiwi/bin/utils/pez-subkey && SKIP_WASM_BUILD=1 cargo build --locked --release` |
---
### 1.9 build-publish-images.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| `build-linux-stable` | ✅ | `cargo build --locked --release -p pezkuwi` |
| `build-linux-stable-pezcumulus` | ✅ | `cargo build --locked --release -p pezkuwi-teyrchain-bin` |
| `build-linux-bizinikiwi` | ✅ | `cargo build --locked --release -p pezstaging-node-cli` |
| `build-templates-node` | ✅ | `cargo build --locked --release -p teyrchain-template-node` |
| `build-malus` | ✅ | `cargo build --locked --release -p pezkuwi-test-malus` |
| `build-test-collators` | ✅ | `cargo build --locked --release -p test-teyrchain-adder-collator -p test-teyrchain-undying-collator` |
| `prepare-bridges-zombienet-artifacts` | ✅ | `cargo build --profile testnet -p pezkuwi-test-malus --bin malus --bin pezkuwi-prepare-worker --bin pezkuwi-execute-worker` |
| `build-push-image-test-teyrchain` | ⏳ | Docker image build (CI'da çalışacak) |
---
### 1.10 check-getting-started.yml
| Job | Durum | Lokal Test Komutu |
|-----|-------|-------------------|
| Tüm distro testleri | ✅ | Template repo'ları mevcut, script doğru |
**Template Repo'ları (GitHub'da mevcut):**
-`github.com/pezkuwichain/pezkuwi-sdk-minimal-template`
-`github.com/pezkuwichain/pezkuwi-sdk-solochain-template`
-`github.com/pezkuwichain/pezkuwi-sdk-teyrchain-template`
-`github.com/pezkuwichain/pezkuwi-runtime-templates`
---
## FAZ 2: Düzeltme Sırası
```
AŞAMA 1 - Kritik (PR merge için ZORUNLU):
├── quick-checks.yml
│ ├── taplo format --config .config/taplo.toml
│ └── markdownlint --fix
└── checks.yml
├── cargo clippy düzeltmeleri
└── try-runtime feature düzeltmeleri
AŞAMA 2 - Derleme Hataları:
├── build-publish-images.yml binary build'ler
├── build-misc.yml PolkaVM build
└── tests.yml benchmark compile
AŞAMA 3 - Test Hataları:
├── tests-linux-stable.yml unit/integration tests
├── tests-misc.yml çeşitli testler
└── docs.yml doc tests
AŞAMA 4 - EVM/PolkaVM:
├── tests-evm.yml PolkaVM toolchain
└── resolc compiler kurulumu
```
---
## Tamamlanan Düzeltmeler
| Tarih | Düzeltme | Etki |
|-------|----------|------|
| 2025-12-25 | check-revive-stable-uapi-polkavm: nightly + -Zbuild-std=core ile geçti | check-revive-stable-uapi-polkavm |
| 2025-12-25 | test-deterministic-wasm: zagros-runtime, pezkuwichain-runtime deterministik build doğrulandı | test-deterministic-wasm |
| 2025-12-25 | PolkaVM runtime build: pez-minimal-template-runtime BIZINIKIWI_RUNTIME_TARGET=riscv | build-runtimes-polkavm |
| 2025-12-25 | ss58-registry doc tests: pezkuwi_ss58_registry import, TokenRegistry::Hez | test-doc |
| 2025-12-25 | Rustdoc link düzeltmeleri: zombienet-sdk, subxt, ss58-registry, pezframe-support, pezpallet-presale, revive README | build-rustdoc |
| 2025-12-25 | CLI argüman rebrand: --pallet → --pezpallet, benchmark pallet → benchmark pezpallet | quick-benchmarks, scripts |
| 2025-12-25 | pezpallet-welati EnsureOrigin try_successful_origin düzeltmeleri (3 fix) | pezkuwi-teyrchain-bin build |
| 2025-12-25 | asset-hub-zagros governance origins macro düzeltmeleri (2 macro) | pezkuwi-teyrchain-bin build |
| 2025-12-25 | Binary build'ler test edildi: pezkuwi, pezkuwi-teyrchain-bin, pezstaging-node-cli, teyrchain-template-node | build-publish-images |
| 2025-12-24 | Bench check'e --features runtime-benchmarks eklendi, yanlış exclusion'lar kaldırıldı | cargo-check-all-benches |
| 2024-12-24 | Workflow'larda pezstaging-node-cli paket adı düzeltildi | build-publish-images, tests |
| 2024-12-24 | Umbrella node feature'ına subxt native propagation eklendi | check-try-runtime |
| 2024-12-24 | Vendor crate rebrand düzeltmeleri (sp_* -> pezsp_*) | cargo-clippy |
| 2024-12-24 | Subxt examples artifact paths düzeltildi | cargo-clippy |
| 2024-12-24 | Subxt examples type conversion düzeltmeleri | cargo-clippy |
| 2024-12-24 | Zombienet-sdk test type düzeltmeleri | cargo-clippy |
| 2024-12-24 | TOML format düzeltildi (umbrella/Cargo.toml) | check-toml-format |
| 2024-12-23 | Umbrella'ya pezpallet-root-testing eklendi | check-try-runtime |
| 2024-12-23 | Umbrella'ya pezpallet-xcm-benchmarks eklendi | Runtime build |
| 2024-12-23 | Subxt runtime-full'dan çıkarıldı | getrandom WASM fix |
| 2024-12-23 | Template URL'leri düzeltildi | check-getting-started |
| 2024-12-22 | rustfmt.toml stable-only | fmt job |
| 2024-12-22 | Zepter feature propagation | check-zepter |
| 2025-12-26 | solc 0.8.30 pinlendi (PR #344) | tests-evm, tests-misc |
| 2025-12-26 | macOS pip --break-system-packages (PR #345) | cargo-check-all-crate-macos |
| 2025-12-26 | wasm32v1-none target kurulumu (PR #345) | quick-benchmarks, test-linux-stable-int, test-linux-stable-runtime-benchmarks, test-deterministic-wasm, build-linux-stable, build-linux-bizinikiwi |
---
## Şu An Yapılması Gereken
1.`taplo format --config .config/taplo.toml` - TAMAMLANDI
2.`cargo clippy` düzeltmeleri - TAMAMLANDI
3.`check-try-runtime` komutları - TAMAMLANDI (subxt native feature propagation eklendi)
4.`cargo-check-all-benches` - TAMAMLANDI (--features runtime-benchmarks eklendi)
5. ✅ Build-publish-images temel binary'ler - TAMAMLANDI
- ✅ pezkuwi
- ✅ pezkuwi-teyrchain-bin
- ✅ pezstaging-node-cli
- ✅ teyrchain-template-node
- ✅ pezkuwi-test-malus
- ✅ test-teyrchain-adder-collator
- ✅ test-teyrchain-undying-collator
6. ✅ Template repo'ları - MEVCUT (GitHub'da kontrol edildi)
7. ✅ Kalan binary build'leri - TAMAMLANDI
8. ✅ Commit ve push yap - TAMAMLANDI (PR #344, PR #345)
9. ⏳ CI'da test et - PR #345 merge edildi, CI çalışıyor
10. ⏳ Tüm workflow'lar yeşil olduktan sonra → crates.io publish
---
*Son Güncelleme: 2025-12-26*
---
## GELECEK: Crate Publish Aşaması
### TODO : polkavm → pezkavm Rebrand
`polkavm-linker` external crate olduğu için (crates.io), rebrand için fork gerekli:
- polkavm → pezkavm olarak fork edilecek
- `polkavm_linker::target_json_path``pezkavm_linker::target_json_path`
- wasm-builder ve revive fixtures güncellenecek
- Tüm işler bitip crate publish aşamasına geçildiğinde yapılacak
-237
View File
@@ -1,237 +0,0 @@
# PezkuwiChain Infrastructure
## Domains
### Primary Domain
| Property | Value |
|----------|-------|
| Domain | pezkuwichain.io |
| IP | 37.60.230.9 |
| TTL | 3600 |
### Service Subdomains (.io)
| Subdomain | Full URL | Description |
|-----------|----------|-------------|
| www | www.pezkuwichain.io | Main website |
| network | network.pezkuwichain.io | Network portal |
| api | api.pezkuwichain.io | API endpoint |
| rpc | rpc.pezkuwichain.io | RPC endpoint |
| ws | ws.pezkuwichain.io | WebSocket endpoint |
| explorer | explorer.pezkuwichain.io | Block explorer |
| scan | scan.pezkuwichain.io | Blockchain scanner |
| statescan | statescan.pezkuwichain.io | State explorer |
| stats | stats.pezkuwichain.io | Validator stats |
| treasury | treasury.pezkuwichain.io | Treasury dashboard |
| governance | governance.pezkuwichain.io | Governance portal |
| docs | docs.pezkuwichain.io | Documentation |
| wiki | wiki.pezkuwichain.io | Wiki |
| wiki.network | wiki.network.pezkuwichain.io | Network wiki |
| faucet | faucet.pezkuwichain.io | Test token faucet |
| telemetry | telemetry.pezkuwichain.io | Telemetry dashboard |
| forum | forum.pezkuwichain.io | Community forum |
| grants | grants.pezkuwichain.io | Grant program |
| developers | developers.pezkuwichain.io | Developer portal |
| mail | mail.pezkuwichain.io | Email service |
### Application Domains (.app)
| Subdomain | Full URL | Description |
|-----------|----------|-------------|
| - | pezkuwichain.app | Main application portal |
| www | www.pezkuwichain.app | Web application |
| docs | docs.pezkuwichain.app | Documentation site |
| js | js.pezkuwichain.app | JavaScript API documentation |
| releases | releases.pezkuwichain.app | Release downloads |
| telemetry | telemetry.pezkuwichain.app | Telemetry dashboard |
### Network RPC Endpoints
| Network | Subdomain | Full URL |
|---------|-----------|----------|
| Mainnet | mainnet | mainnet.pezkuwichain.io |
| Mainnet | pezkuwichain-rpc | pezkuwichain-rpc.pezkuwichain.io |
| Zagros | zagros | zagros.pezkuwichain.io |
| Zagros | zagros-rpc | zagros-rpc.pezkuwichain.io |
| Zagros Asset Hub | zagros-asset-hub-rpc | zagros-asset-hub-rpc.pezkuwichain.io |
| Zagros Bridge Hub | zagros-bridge-hub-rpc | zagros-bridge-hub-rpc.pezkuwichain.io |
| Zagros Collectives | zagros-collectives-rpc | zagros-collectives-rpc.pezkuwichain.io |
| Zagros Coretime | zagros-coretime-rpc | zagros-coretime-rpc.pezkuwichain.io |
| Testnet | testnet | testnet.pezkuwichain.io |
| Staging | staging | staging.pezkuwichain.io |
| Beta | beta | beta.pezkuwichain.io |
| Beta RPC | beta-rpc | beta-rpc.pezkuwichain.io |
| Try Runtime | try-runtime | try-runtime.pezkuwichain.io |
| Try Runtime Zagros | try-runtime-zagros | try-runtime-zagros.pezkuwichain.io |
---
## GitHub Repositories
**Organization:** https://github.com/pezkuwichain
### Core SDK Repositories
| Repository | Description | Language | Upstream |
|------------|-------------|----------|----------|
| pezkuwi-sdk | Digital state for Kurdish nation on blockchain | Rust | paritytech/polkadot-sdk |
| polkadot-sdk | The Parity Polkadot Blockchain SDK (fork) | Rust | paritytech/polkadot-sdk |
| pezkuwi-subxt | Interact with Substrate based nodes | Rust | paritytech/subxt |
| pezkuwi-zombienet-sdk | ZombieNet SDK | Rust | paritytech/zombienet-sdk |
### Template Repositories
| Repository | Description | Language | Upstream |
|------------|-------------|----------|----------|
| pezkuwi-sdk-minimal-template | Minimal Testing/Learning Template | Rust | paritytech/polkadot-sdk-minimal-template |
| pezkuwi-sdk-solochain-template | Solochain-Ready Template | Rust | paritytech/polkadot-sdk-solochain-template |
| pezkuwi-sdk-teyrchain-template | Teyrchain template for Pezkuwi SDK | Rust | paritytech/polkadot-sdk-parachain-template |
| polkadot-runtime-templates | Runtime Templates for Pezkuwi Teyrchains | Rust | - |
### Library Forks
| Repository | Description | Language | Upstream |
|------------|-------------|----------|----------|
| parity-db | Experimental blockchain database | Rust | paritytech/parity-db |
| parity-scale-codec | Binary serialization codec | Rust | paritytech/parity-scale-codec |
| pezframe-metadata | FRAME metadata parser tools | Rust | paritytech/frame-metadata |
| merkle-mountain-range | MMR implementation | Rust | nervosnetwork/merkle-mountain-range |
| wasm-instrument | WASM module instrumentation | Rust | parity/wasm-instrument |
| consensus | Consensus for Web3 | TeX | parity/consensus |
### Community & Documentation
| Repository | Description | Language | Upstream |
|------------|-------------|----------|----------|
| awesome-hez | Awesome resources in Polkadot ecosystem | - | parity/awesome-substrate |
| pezkuwi-fellows | Fellowship proposals | Handlebars | polkadot-fellows/rfc |
| kurdistan_blockchain-akademy | Blockchain Academy Rust Qualifier | Rust | polkadot-blockchain-academy |
| docs | PezkuwiChain documentation | Rust | - |
| labels | Label rules for repositories | Shell | paritytech/labels |
### JavaScript/TypeScript Libraries
| Repository | Description | Language | Upstream | NPM Packages |
|------------|-------------|----------|----------|--------------|
| pezkuwi-api | Polkadot.js API fork for PezkuwiChain | TypeScript | polkadot-js/api | @pezkuwi/api, @pezkuwi/types, @pezkuwi/rpc-* (13 packages) |
| pezkuwi-extension | Browser extension packages | TypeScript | polkadot-js/extension | @pezkuwi/extension-dapp, @pezkuwi/extension-inject |
| pezkuwi-common | Common utilities and cryptography | TypeScript | polkadot-js/common | @pezkuwi/util, @pezkuwi/util-crypto, @pezkuwi/keyring (14 packages) |
### Applications
| Repository | Description | Language |
|------------|-------------|----------|
| DKSweb | Sovereign Blockchain for Kurdish Nation | TypeScript |
| pezkuwi-mobile-app | Official Mobile App | TypeScript |
| pwap | Web and mobile applications monorepo | TypeScript |
| pezkuwi-validator-v1.0.0 | Validator installer scripts | Shell |
| testnet | Testnet configuration | Shell |
| workflow-stopper | CI/CD workflow management | - |
---
## URL Mapping Reference
### Repositories We Own (use pezkuwichain URLs)
```
# Core SDK (Rust)
github.com/pezkuwichain/pezkuwi-sdk
github.com/pezkuwichain/pezkuwi-subxt
github.com/pezkuwichain/pezkuwi-zombienet-sdk
# JavaScript/TypeScript Libraries
github.com/pezkuwichain/pezkuwi-api
github.com/pezkuwichain/pezkuwi-extension
github.com/pezkuwichain/pezkuwi-common
# Library Forks
github.com/pezkuwichain/parity-db
github.com/pezkuwichain/parity-scale-codec
github.com/pezkuwichain/pezframe-metadata
github.com/pezkuwichain/merkle-mountain-range
github.com/pezkuwichain/wasm-instrument
# Community
github.com/pezkuwichain/pezkuwi-fellows
github.com/pezkuwichain/awesome-hez
github.com/pezkuwichain/kurdistan_blockchain-akademy
```
### External Repositories (use original URLs)
| Our Reference | Original URL |
|---------------|--------------|
| xcm-format | github.com/polkadot-fellows/xcm-format |
| try-runtime-cli | github.com/paritytech/try-runtime-cli |
| trie | github.com/paritytech/trie |
| srtool | github.com/paritytech/srtool |
| parity-common | github.com/paritytech/parity-common |
| arkworks-extensions | github.com/paritytech/arkworks-extensions |
| chainextension-registry | github.com/parity/chainextension-registry |
| substrate-developer-hub | github.com/substrate-developer-hub |
### External Websites (use original URLs)
| Our Reference | Original URL |
|---------------|--------------|
| shawntabrizi.com/bizinikiwi-* | shawntabrizi.com/substrate-* |
| pezkuwichain.github.io | paritytech.github.io |
---
## Code Usage Examples
```rust
// Website URLs (.io)
"https://pezkuwichain.io"
"https://network.pezkuwichain.io"
"https://docs.pezkuwichain.io"
// Application URLs (.app)
"https://pezkuwichain.app"
"https://www.pezkuwichain.app"
"https://docs.pezkuwichain.app"
"https://js.pezkuwichain.app"
"https://releases.pezkuwichain.app"
"https://telemetry.pezkuwichain.app"
// RPC Endpoints
"wss://rpc.pezkuwichain.io" // Mainnet WS
"wss://zagros-rpc.pezkuwichain.io" // Zagros WS
// GitHub Repositories
"https://github.com/pezkuwichain/pezkuwi-sdk"
"https://github.com/pezkuwichain/pezkuwi-api"
"https://github.com/pezkuwichain/pezkuwi-extension"
"https://github.com/pezkuwichain/awesome-hez"
// NPM Packages
"@pezkuwi/api"
"@pezkuwi/types"
"@pezkuwi/util"
"@pezkuwi/util-crypto"
"@pezkuwi/keyring"
"@pezkuwi/extension-dapp"
"@pezkuwi/extension-inject"
```
---
---
## VPS Runner Infrastructure
**GitHub Actions Self-Hosted Runners:**
| VPS | IP Address | SSH | Runner Label | Status |
|-----|------------|-----|--------------|--------|
| VPS1 | 37.60.230.9 | `ssh root@37.60.230.9` | ubuntu-large | Active |
| VPS2 | 62.146.235.186 | `ssh root@62.146.235.186` | ubuntu-xlarge | Active |
**Runner Configuration:**
- Both runners work in parallel for CI workloads
- VPS1: Primary domain server + runner
- VPS2: Dedicated runner for larger jobs
**Monitoring:**
```bash
# Check runner status
gh run list --limit 10
# SSH to runners
ssh root@37.60.230.9
ssh root@62.146.235.186
```
---
*Last updated: 2026-01-06*
-152
View File
@@ -1,152 +0,0 @@
# Rebrand İlerleme Listesi
**Son Güncelleme:** 2025-12-16
**Toplam Crate:** 76 (REBRAND_MAP'ten)
**Rebrand Durumu:** 75/76 tamamlandı (98.7%)
## Durum Açıklamaları
- ⏳ Bekliyor
- ✅ Rebrand Tamamlandı (Cargo.toml name doğru)
- 🔨 Derleme Hatası (rebrand tamam ama compile hatası var)
- ❌ Eksik/Bulunamadı
---
## Özet
| Kategori | Toplam | Tamamlanan | Durum |
| --- | --- | --- | --- |
| pez-* prefix | 29 | 29 | ✅ |
| pezbridge-* | 8 | 8 | ✅ |
| pezsnowbridge-* | 25 | 24 | ⚠️ 1 eksik |
| xcm-pez-* | 8 | 8 | ✅ |
| pezmmr-* | 2 | 2 | ✅ |
| bp/pezbp-* | 2 | 2 | ✅ |
| peztest-* | 1 | 1 | ✅ |
| asset-test-pezutils | 1 | 1 | ✅ |
| **TOPLAM** | **76** | **75** | **98.7%** |
---
## İlerleme Tablosu
| # | Yeni İsim | Durum | Konum |
| --- | --- | --- | --- |
| 1 | asset-test-pezutils | ✅ | pezcumulus/teyrchains/runtimes/assets/test-utils |
| 2 | pez-chain-spec-guide-runtime | ✅ | docs/sdk/src/reference_docs/chain_spec_runtime |
| 3 | pez-equivocation-detector | ✅ | pezbridges/relays/equivocation |
| 4 | pez-erasure-coding-fuzzer | ✅ | pezkuwi/erasure-coding/fuzzer |
| 5 | pez-ethereum-standards | ✅ | bizinikiwi/primitives/pez-ethereum-standards |
| 6 | pez-finality-relay | ✅ | pezbridges/relays/finality |
| 7 | pez-fork-tree | ✅ | bizinikiwi/utils/pez-fork-tree |
| 8 | pez-generate-bags | ✅ | bizinikiwi/utils/pezframe/pez-generate-bags |
| 9 | pez-kitchensink-runtime | ✅🔨 | bizinikiwi/bin/node/runtime (622 derleme hatası) |
| 10 | pez-messages-relay | ✅ | pezbridges/relays/messages |
| 11 | pez-minimal-template-node | ✅ | templates/minimal/node |
| 12 | pez-minimal-template-runtime | ✅ | templates/minimal/runtime |
| 13 | pez-node-bench | ✅ | bizinikiwi/bin/node/bench |
| 14 | pez-node-primitives | ✅ | bizinikiwi/bin/node/primitives |
| 15 | pez-node-rpc | ✅ | bizinikiwi/bin/node/rpc |
| 16 | node-runtime-pez-generate-bags | ✅ | bizinikiwi/utils/pezframe/pez-generate-bags/node-runtime |
| 17 | pez-node-template-release | ✅ | bizinikiwi/scripts/ci/pez-node-template-release |
| 18 | pez-node-testing | ✅ | bizinikiwi/bin/node/testing |
| 19 | pez-penpal-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/testing/penpal |
| 20 | pez-penpal-runtime | ✅ | pezcumulus/teyrchains/runtimes/testing/penpal |
| 21 | pez-remote-ext-tests-bags-list | ✅ | pezkuwi/utils/remote-ext-tests/bags-list |
| 22 | pez-revive-dev-node | ✅ | bizinikiwi/pezframe/revive/dev-node/node |
| 23 | pez-revive-dev-runtime | ✅ | bizinikiwi/pezframe/revive/dev-node/runtime |
| 24 | pez-slot-range-helper | ✅ | pezkuwi/runtime/common/pez-slot-range-helper |
| 25 | pez-solochain-template-node | ✅ | templates/solochain/node |
| 26 | pez-solochain-template-runtime | ✅ | templates/solochain/runtime |
| 27 | pez-subkey | ✅ | bizinikiwi/bin/utils/pez-subkey |
| 28 | pez-template-zombienet-tests | ✅ | templates/zombienet |
| 29 | peztest-runtime-constants | ✅ | pezkuwi/runtime/test-runtime/constants |
| 30 | pez-tracing-gum | ✅ | pezkuwi/node/gum |
| 31 | pez-tracing-gum-proc-macro | ✅ | pezkuwi/node/gum/proc-macro |
| 32 | bp-header-pez-chain | ✅ | pezbridges/primitives/header-chain |
| 33 | pezbp-runtime | ✅ | pezbridges/primitives/runtime |
| 34 | pezbridge-hub-pezkuwichain-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/pezbridges/bridge-hub-pezkuwichain |
| 35 | pezbridge-hub-pezkuwichain-integration-tests | ✅ | pezcumulus/teyrchains/integration-tests/emulated/tests/pezbridges/bridge-hub-pezkuwichain |
| 36 | pezbridge-hub-pezkuwichain-runtime | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-pezkuwichain |
| 37 | pezbridge-hub-test-utils | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/test-utils |
| 38 | pezbridge-hub-zagros-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/pezbridges/bridge-hub-zagros |
| 39 | pezbridge-hub-zagros-integration-tests | ✅ | pezcumulus/teyrchains/integration-tests/emulated/tests/pezbridges/bridge-hub-zagros |
| 40 | pezbridge-hub-zagros-runtime | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-zagros |
| 41 | pezbridge-runtime-common | ✅ | pezbridges/bin/runtime-common |
| 42 | pezmmr-gadget | ✅ | bizinikiwi/client/merkle-mountain-range |
| 43 | pezmmr-rpc | ✅ | bizinikiwi/client/merkle-mountain-range/rpc |
| 44 | pezsnowbridge-beacon-primitives | ✅ | pezbridges/snowbridge/primitives/beacon |
| 45 | pezsnowbridge-core | ✅ | pezbridges/snowbridge/primitives/core |
| 46 | pezsnowbridge-ethereum | ✅ | pezbridges/snowbridge/primitives/ethereum |
| 47 | pezsnowbridge-inbound-queue-primitives | ✅ | pezbridges/snowbridge/primitives/inbound-queue |
| 48 | pezsnowbridge-merkle-tree | ✅ | pezbridges/snowbridge/primitives/merkle-tree |
| 49 | pezsnowbridge-outbound-queue-primitives | ✅ | pezbridges/snowbridge/primitives/outbound-queue |
| 50 | pezsnowbridge-outbound-queue-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue/runtime-api |
| 51 | pezsnowbridge-outbound-queue-v2-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue-v2/runtime-api |
| 52 | pezsnowbridge-pezpallet-ethereum-client | ✅ | pezbridges/snowbridge/pezpallets/ethereum-client |
| 53 | pezsnowbridge-pezpallet-ethereum-client-fixtures | ✅ | pezbridges/snowbridge/pezpallets/ethereum-client/fixtures |
| 54 | pezsnowbridge-pezpallet-inbound-queue | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue |
| 55 | pezsnowbridge-pezpallet-inbound-queue-fixtures | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue/fixtures |
| 56 | pezsnowbridge-pezpallet-inbound-queue-v2 | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue-v2 |
| 57 | pezsnowbridge-pezpallet-inbound-queue-v2-fixtures | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue-v2/fixtures |
| 58 | pezsnowbridge-pezpallet-outbound-queue | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue |
| 59 | pezsnowbridge-pezpallet-outbound-queue-v2 | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue-v2 |
| 60 | pezsnowbridge-pezpallet-system | ✅ | pezbridges/snowbridge/pezpallets/system |
| 61 | pezsnowbridge-pezpallet-system-frontend | ✅ | pezbridges/snowbridge/pezpallets/system-frontend |
| 62 | pezsnowbridge-pezpallet-system-v2 | ✅ | pezbridges/snowbridge/pezpallets/system-v2 |
| 63 | pezsnowbridge-runtime-common | ❌ | Mevcut değil veya farklı isimle |
| 64 | pezsnowbridge-runtime-test-common | ✅ | pezbridges/snowbridge/runtime/test-common |
| 65 | pezsnowbridge-system-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/system/runtime-api |
| 66 | pezsnowbridge-system-v2-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/system-v2/runtime-api |
| 67 | pezsnowbridge-test-utils | ✅ | pezbridges/snowbridge/test-utils |
| 68 | pezsnowbridge-verification-primitives | ✅ | pezbridges/snowbridge/primitives/verification |
| 69 | xcm-pez-docs | ✅ | pezkuwi/xcm/docs |
| 70 | xcm-pez-emulator | ✅ | pezcumulus/xcm/xcm-pez-emulator |
| 71 | xcm-pez-executor-integration-tests | ✅ | pezkuwi/xcm/xcm-executor/integration-tests |
| 72 | xcm-pez-procedural | ✅ | pezkuwi/xcm/procedural |
| 73 | xcm-runtime-pezapis | ✅ | pezkuwi/xcm/xcm-runtime-pezapis |
| 74 | xcm-pez-simulator | ✅ | pezkuwi/xcm/xcm-pez-simulator |
| 75 | xcm-pez-simulator-example | ✅ | pezkuwi/xcm/xcm-pez-simulator/example |
| 76 | xcm-pez-simulator-fuzzer | ✅ | pezkuwi/xcm/xcm-pez-simulator/fuzzer |
---
## Bilinen Derleme Sorunları
Bu crate'lerin rebrand'i tamamlandı ancak derleme hataları var:
1. **pez-kitchensink-runtime** - 622 hata (macro expansion ve type resolution sorunları)
2. **pezkuwi-sdk (umbrella)** - pezframe_benchmarking_pezpallet_pov import düzeltildi
### Bu Oturumda Düzeltilen Sorunlar:
1. `pezpallet-contracts-fixtures/build/Cargo.toml` - workspace inheritance kaldırıldı
2. `pezpallet-revive-fixtures/build.rs` - panic_immediate_abort yeni syntax'a güncellendi
3. `asset-hub-zagros pezpezsnowbridge``pezsnowbridge` double prefix düzeltildi
4. `bridge-hub-pezkuwichain/weights` - snowbridge_pezpallet → pezsnowbridge_pezpallet dosya rename
5. `bridge-hub-zagros/weights` - aynı rename
6. `umbrella/src/lib.rs` - pezframe_benchmarking_pallet_pov → pezframe_benchmarking_pezpallet_pov
---
## Sonraki Adımlar
1. [ ] Derleme hatalarını düzelt (pez-kitchensink-runtime öncelikli)
2. [ ] Workspace-wide cargo check geçmeli
3. [ ] Crates.io publish planına geç
4. [ ] CI/CD workflow'larını güncelle
---
## Log
### 2025-12-16
- Rebrand durumu tam olarak değerlendirildi
- 75/76 crate rebrand tamamlanmış bulundu
- pezsnowbridge-runtime-common mevcut değil (muhtemelen merge edilmiş)
- REBRAND_PROGRESS.md gerçek durumu yansıtacak şekilde güncellendi
- Birkaç derleme hatası düzeltildi (fixtures build scripts, weight file renames)
### 2025-12-15
- İlerleme listesi oluşturuldu
- scan_old_words.py scripti hazırlandı
-127
View File
@@ -1,127 +0,0 @@
import os
import sys
# HARİÇ TUTULACAK KLASÖRLER
EXCLUDE_DIRS = {'crate_placeholders', '.git', 'target', 'node_modules', '__pycache__'}
# Düzeltilecek Kalıplar ve Yerine Geçecek Değerler
# Tekrar eden önekleri temizler.
REPLACEMENT_MAP = {
"pezpez": "pez",
"Pezpez": "Pez",
"PEZPEZ": "PEZ",
"PeZPeZ": "PeZ",
"pezPez": "pez",
"PEZpez": "PEZ",
}
def is_path_excluded(path):
"""Verilen yolun yasaklı bir klasörün içinde olup olmadığını kontrol eder."""
parts = path.split(os.sep)
return any(excluded in parts for excluded in EXCLUDE_DIRS)
def fix_double_prefix(text):
"""Metin içindeki çift PEZ öneklerini tek PEZ önekiyle değiştirir."""
for old_prefix, new_prefix in REPLACEMENT_MAP.items():
text = text.replace(old_prefix, new_prefix)
return text
def process_content_updates(root_dir):
"""Belirtilen dizin altındaki tüm hedef dosyaların içeriğini günceller."""
# Sadece .rs ve .toml gibi kod dosyalarını hedefleyelim.
TARGET_EXTENSIONS = ('.rs', '.toml', '.md', '.txt', '.yml', '.yaml', '.json', '.py')
print("--- Adım 1: Dosya İçeriklerinde Çift Önek Düzeltme ---")
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=True):
dirnames[:] = [d for d in dirnames if d not in EXCLUDE_DIRS]
if is_path_excluded(dirpath):
continue
for filename in filenames:
if filename.endswith(TARGET_EXTENSIONS) or filename == 'Cargo.lock':
filepath = os.path.join(dirpath, filename)
if os.path.basename(filepath) == os.path.basename(sys.argv[0]):
continue
try:
with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
content = f.read()
original_content = content
content = fix_double_prefix(content)
if content != original_content:
with open(filepath, 'w', encoding='utf-8') as f:
f.write(content)
print(f" [İÇERİK DÜZELTİLDİ] Dosya içeriği: {filepath}")
except Exception as e:
print(f" [HATA] İçerik düzeltilirken: {filepath} -> {e}")
def rename_pezpez_paths(root_dir):
"""Dosya ve klasör adlarında geçen 'pezpez' önekini 'pez' olarak düzeltir (bottom-up)."""
# 2. Klasör İsimlerini Düzelt (topdown=False, en alttan yukarı güvenli işlem)
print("\n--- Adım 2: Klasör İsimlerinin Düzeltilmesi (pezpez -> pez) ---")
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=False):
if any(excluded in dirpath.split(os.sep) for excluded in EXCLUDE_DIRS):
continue
dirname = os.path.basename(dirpath)
original_dirname = dirname
new_dirname = fix_double_prefix(dirname)
if new_dirname != original_dirname:
old_path = dirpath
new_path = os.path.join(os.path.dirname(dirpath), new_dirname)
if os.path.exists(old_path) and not os.path.exists(new_path):
try:
os.rename(old_path, new_path)
print(f" [RENAME-DIR] {original_dirname} -> {new_dirname}")
except OSError as e:
print(f" [HATA] Klasör adlandırılamadı {original_dirname}: {e}")
# 3. Dosya İsimlerini Düzelt (topdown=True, kökten aşağı)
print("\n--- Adım 3: Dosya İsimlerinin Düzeltilmesi (pezpez -> pez) ---")
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=True):
dirnames[:] = [d for d in dirnames if d not in EXCLUDE_DIRS]
if is_path_excluded(dirpath):
continue
for filename in filenames:
original_filename = filename
new_filename = fix_double_prefix(filename)
if new_filename != original_filename:
old_path = os.path.join(dirpath, original_filename)
new_path = os.path.join(dirpath, new_filename)
if os.path.exists(old_path) and not os.path.exists(new_path):
try:
os.rename(old_path, new_path)
print(f" [RENAME-FILE] {original_filename} -> {new_filename}")
except OSError as e:
print(f" [HATA] Dosya adlandırılamadı {original_filename}: {e}")
def main():
root_dir = os.getcwd()
print("==================================================")
print(f"🔧 PEZPEZ DÜZELTME (İçerik ve Ad) İşlemi Başlatılıyor...")
print(f"⚠️ Çalışma Dizini: {root_dir}")
print("==================================================")
# Önce içerikleri düzelt (dosya yolları değişmeden)
process_content_updates(root_dir)
# Ardından dosya ve klasör adlarını düzelt
rename_pezpez_paths(root_dir)
print("\n✅ PEZPEZ Düzeltme işlemi tamamlandı.")
if __name__ == "__main__":
main()
-96
View File
@@ -1,96 +0,0 @@
import os
import sys
# HARİÇ TUTULACAK KLASÖRLER
EXCLUDE_DIRS = {'crate_placeholders', '.git', 'target', 'node_modules', '__pycache__'}
# Yeniden adlandırma haritası (Basit: sadece 'pallet'in önüne 'pez' ekle)
RENAME_MAP = {
# Tireli (kebab-case) isimlendirmeler için
"pallet-": "pezpallet-",
# Alt çizgili (snake_case) isimlendirmeler için
"pallet_": "pezpallet_",
}
# Not: Bu betik, 'Pallet-' veya 'PALLET-' gibi büyük harf varyasyonlarını dosya sisteminde
# (çoğunlukla küçük harf veya tireli kullanılan) adreslemeyebilir, ancak en yaygın olanları hedefler.
def is_path_excluded(path):
"""Verilen yolun yasaklı bir klasörün içinde olup olmadığını kontrol eder."""
parts = path.split(os.sep)
return any(excluded in parts for excluded in EXCLUDE_DIRS)
def rename_paths(root_dir):
"""
Dosya ve klasör adlarında geçen 'pallet' önekini 'pezpallet' olarak değiştirir.
Bottom-up (en alttan yukarı) yaklaşımıyla klasör adlarını güvenli bir şekilde değiştirir.
"""
# Adım 1: Dosya İsimlerini Düzelt (topdown=True, kökten aşağı)
print("--- Adım 1: Dosya İsimlerinin Güncellenmesi (pallet -> pezpallet) ---")
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=True):
# Yasaklı klasörleri atla
dirnames[:] = [d for d in dirnames if d not in EXCLUDE_DIRS]
if any(excluded in dirpath.split(os.sep) for excluded in EXCLUDE_DIRS):
continue
for filename in filenames:
original_filename = filename
new_filename = filename
for old_prefix, new_prefix in RENAME_MAP.items():
if old_prefix in new_filename:
# Basit string değiştirme, pez yaratma riskini taşıyoruz.
new_filename = new_filename.replace(old_prefix, new_prefix)
if new_filename != original_filename:
old_path = os.path.join(dirpath, original_filename)
new_path = os.path.join(dirpath, new_filename)
if os.path.exists(old_path) and not os.path.exists(new_path):
try:
os.rename(old_path, new_path)
print(f" [RENAME-FILE] {original_filename} -> {new_filename}")
except OSError as e:
print(f" [HATA] Dosya adlandırılamadı {original_filename}: {e}")
# Adım 2: Klasör İsimlerini Düzelt (topdown=False, en alttan yukarı güvenli işlem)
print("\n--- Adım 2: Klasör İsimlerinin Güncellenmesi (pallet -> pezpallet) ---")
for dirpath, dirnames, filenames in os.walk(root_dir, topdown=False):
if any(excluded in dirpath.split(os.sep) for excluded in EXCLUDE_DIRS):
continue
dirname = os.path.basename(dirpath)
original_dirname = dirname
new_dirname = dirname
for old_prefix, new_prefix in RENAME_MAP.items():
if old_prefix in new_dirname:
new_dirname = new_dirname.replace(old_prefix, new_prefix)
if new_dirname != original_dirname:
old_path = dirpath
new_path = os.path.join(os.path.dirname(dirpath), new_dirname)
if os.path.exists(old_path) and not os.path.exists(new_path):
try:
os.rename(old_path, new_path)
print(f" [RENAME-DIR] {original_dirname} -> {new_dirname}")
except OSError as e:
print(f" [HATA] Klasör adlandırılamadı {original_dirname}: {e}")
def main():
root_dir = os.getcwd()
print("==================================================")
print(f"🗂️ Dosya Adı Düzeltme İşlemi Başlatılıyor (pallet -> pezpallet)...")
print(f"⚠️ Çalışma Dizini: {root_dir}")
print("==================================================")
rename_paths(root_dir)
print("\n✅ Dosya Adları Düzeltme işlemi tamamlandı.")
if __name__ == "__main__":
main()
File diff suppressed because it is too large Load Diff