Add Pezkuwi SDK UI - Polkadot.js Apps clone

- Clone Polkadot.js Apps repository
- Update package.json with Pezkuwi branding
- Add Pezkuwi endpoint to production chains (wss://pezkuwichain.app:9944)
- Create comprehensive README for SDK UI
- Set up project structure with all packages

Next steps:
- Apply Kurdistan colors (Kesk, Sor, Zer, Spi + Black) to UI theme
- Replace logos with Pezkuwi branding
- Test build and deployment
This commit is contained in:
Claude
2025-11-14 00:55:17 +00:00
parent 24be8d4411
commit 60a800b33e
5836 changed files with 324981 additions and 17 deletions
@@ -0,0 +1,25 @@
// Copyright 2017-2025 @polkadot/test-support authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { ApiPromise } from '@polkadot/api';
import { WsProvider } from '@polkadot/rpc-provider';
import { SUBSTRATE_PORT } from '../substrate/index.js';
export async function createApi (port: number = SUBSTRATE_PORT): Promise<ApiPromise> {
process.env.NODE_ENV = 'test';
const provider = new WsProvider(`ws://127.0.0.1:${port}`);
const api = await ApiPromise.create({ provider });
const [chain, nodeName, nodeVersion] = await Promise.all([
api.rpc.system.chain(),
api.rpc.system.name(),
api.rpc.system.version()
]);
console.log(`You are connected to chain ${chain.toString()} using ${nodeName.toString()} v${nodeVersion.toString()}`);
return api;
}
@@ -0,0 +1,25 @@
// Copyright 2017-2025 @polkadot/test-support authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Registry } from '@polkadot/types/types';
import { ApiPromise, WsProvider } from '@polkadot/api';
import { Metadata, TypeRegistry } from '@polkadot/types';
import metaStatic from '@polkadot/types-support/metadata/static-substrate';
export function createAugmentedApi (): ApiPromise {
const registry = new TypeRegistry();
// FIXME - ref: https://github.com/polkadot-js/apps/pull/11051
// Adding support for CJS and ESM correctly has caused some build issues.
// This is a hacky type cast to allow the compiler to be happy.
const metadata = new Metadata(registry as unknown as Registry, metaStatic);
registry.setMetadata(metadata);
const api = new ApiPromise({ provider: new WsProvider('ws://', false), registry: registry as unknown as Registry });
// eslint-disable-next-line deprecation/deprecation
api.injectMetadata(metadata, true);
return api;
}
@@ -0,0 +1,7 @@
// Copyright 2017-2025 @polkadot/test-support authors & contributors
// SPDX-License-Identifier: Apache-2.0
import '@polkadot/api-augment/substrate';
export * from './createApi.js';
export * from './createAugmentedApi.js';