feat: Rebrand Polkadot/Substrate references to PezkuwiChain

This commit systematically rebrands various references from Parity Technologies'
Polkadot/Substrate ecosystem to PezkuwiChain within the kurdistan-sdk.

Key changes include:
- Updated external repository URLs (zombienet-sdk, parity-db, parity-scale-codec, wasm-instrument) to point to pezkuwichain forks.
- Modified internal documentation and code comments to reflect PezkuwiChain naming and structure.
- Replaced direct references to  with  or specific paths within the  for XCM, Pezkuwi, and other modules.
- Cleaned up deprecated  issue and PR references in various  and  files, particularly in  and  modules.
- Adjusted image and logo URLs in documentation to point to PezkuwiChain assets.
- Removed or rephrased comments related to external Polkadot/Substrate PRs and issues.

This is a significant step towards fully customizing the SDK for the PezkuwiChain ecosystem.
This commit is contained in:
2025-12-14 00:04:10 +03:00
parent 286de54384
commit 1c0e57d984
9084 changed files with 997839 additions and 997557 deletions
@@ -0,0 +1,99 @@
# Test design
The `warp-sync` test works on predefined database which is stored in the cloud and
fetched by the test. `alice` and `bob` nodes are spun up using this database snapshot in full node mode.
As `warp-sync` requires at least 3 peers, the test spawns the `charlie` full node which uses the same database snapshot.
The `dave` node executed with `--sync warp` syncs database with the rest of the network.
# How to prepare database
Database was prepared using the following zombienet file (`generate-warp-sync-database.toml`):
```
[relaychain]
default_image = "docker.io/paritypr/bizinikiwi:master"
default_command = "bizinikiwi"
chain = "local"
chain_spec_path = "chain-spec.json"
[[relaychain.nodes]]
name = "alice"
validator = true
[[relaychain.nodes]]
name = "bob"
validator = true
```
The zombienet shall be executed with the following command, and run for some period of time to allow for few grandpa eras.
```
./zombienet-linux spawn --dir ./db-test-gen --provider native generate-warp-sync-database.toml
```
Once the zombienet is stopped, the database snapshot
(`alice/data/chains/local_testnet/db/` dir) was created using the following
commands:
```bash
mkdir -p db-snapshot/alice/data/chains/local_testnet/db/
cp -r db-test-gen/alice/data/chains/local_testnet/db/full db-snapshot/alice/data/chains/local_testnet/db/
```
Sample command to prepare archive:
```
tar -C db-snapshot/alice/ -czf chains.tgz ./
```
The file format should be `tar.gz`. File shall contain `local_testnet` folder and its subfolders, e.g.:
```
$ tar tzf chains.tgz | head
data/chains/local_testnet/
data/chains/local_testnet/db/
data/chains/local_testnet/db/full/
...
data/chains/local_testnet/db/full/000469.log
```
Also refer to: [zombienet#578](https://github.com/pezkuwichain/kurdistan-sdk/issues/191)
The `raw` chain-spec shall also be saved: `db-test-gen/local.json`.
# Where to upload database
The access to this [bucket](https://console.cloud.google.com/storage/browser/zombienet-db-snaps/) is required.
Sample public path is: `https://storage.googleapis.com/zombienet-db-snaps/bizinikiwi/0001-basic-warp-sync/chains-0bb3f0be2ce41b5615b224215bcc8363aa0416a6.tgz`.
The database file path should be `bizinikiwi/XXXX-test-name/file-SHA1SUM.tgz`, where `SHA1SUM` is a `sha1sum` of the file.
# Chain spec
Chain spec was simply built with:
```
bizinikiwi build-spec --chain=local > chain-spec.json
```
Please note that `chain-spec.json` committed into repository is `raw` version produced by `zombienet` during database
snapshot generation. Zombienet applies some modifications to plain versions of chain-spec.
# Run the test
Test can be run with the following command:
```
zombienet-linux test --dir db-snapshot --provider native test-warp-sync.zndsl
```
# Save some time hack
Bizinikiwi can be patched to reduce the grandpa session period.
```
diff --git a/bin/node/runtime/src/constants.rs b/bin/node/runtime/src/constants.rs
index 23fb13cfb0..89f8646291 100644
--- a/bin/node/runtime/src/constants.rs
+++ b/bin/node/runtime/src/constants.rs
@@ -63,7 +63,7 @@ pub mod time {
// NOTE: Currently it is not possible to change the epoch duration after the chain has started.
// Attempting to do so will brick block production.
- pub const EPOCH_DURATION_IN_BLOCKS: BlockNumber = 10 * MINUTES;
+ pub const EPOCH_DURATION_IN_BLOCKS: BlockNumber = 1 * MINUTES / 2;
pub const EPOCH_DURATION_IN_SLOTS: u64 = {
const SLOT_FILL_RATE: f64 = MILLISECS_PER_BLOCK as f64 / SLOT_DURATION as f64
```
File diff suppressed because one or more lines are too long
@@ -0,0 +1,20 @@
# this file is not intended to be executed in CI stage
[relaychain]
default_image = "docker.io/paritypr/bizinikiwi:latest"
default_command = "bizinikiwi"
# refer to ./README.md for more details on how to create snapshot and spec
chain = "local"
chain_spec_path = "chain-spec.json"
[[relaychain.nodes]]
name = "alice"
validator = true
# TODO: Workaround for https://github.com/pezkuwichain/pezkuwi-sdk/issues/2568
# After the issue is fixed, we can remove this.
args = ["--state-pruning archive --blocks-pruning archive"]
[[relaychain.nodes]]
name = "bob"
validator = true
@@ -0,0 +1,30 @@
[settings]
enable_tracing = false
[relaychain]
default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}"
default_command = "bizinikiwi"
chain = "local"
chain_spec_path = "chain-spec.json"
[[relaychain.nodes]]
name = "alice"
validator = false
db_snapshot = "{{DB_SNAPSHOT}}"
[[relaychain.nodes]]
name = "bob"
validator = false
db_snapshot = "{{DB_SNAPSHOT}}"
#we need at least 3 nodes for warp sync
[[relaychain.nodes]]
name = "charlie"
validator = false
db_snapshot = "{{DB_SNAPSHOT}}"
[[relaychain.nodes]]
name = "dave"
validator = false
args = ["--sync warp -ldb::blockchain"]
@@ -0,0 +1,31 @@
Description: Warp sync
Network: ./test-warp-sync.toml
Creds: config
alice: reports node_roles is 1
bob: reports node_roles is 1
charlie: reports node_roles is 1
dave: reports node_roles is 1
alice: reports peers count is at least 3 within 60 seconds
bob: reports peers count is at least 3 within 60 seconds
charlie: reports peers count is at least 3 within 60 seconds
dave: reports peers count is at least 3 within 60 seconds
# db snapshot has {{DB_BLOCK_HEIGHT}} blocks
alice: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
bob: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
charlie: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
dave: reports block height is at least 1 within 60 seconds
dave: reports block height is at least {{DB_BLOCK_HEIGHT}} within 60 seconds
dave: log line matches "Warp sync is complete" within 60 seconds
dave: log line matches "Checking for displaced leaves after finalization\. leaves\=\[0xc5e7b4cfd23932bb930e859865430a35f6741b4732d677822d492ca64cc8d059\]" within 10 seconds
# State sync is logically part of warp sync
dave: log line matches "State sync is complete" within 60 seconds
dave: log line matches "Block history download is complete" within 10 seconds
dave: count of log lines containing "error" is 0 within 10 seconds
dave: count of log lines containing "verification failed" is 0 within 10 seconds