mirror of
https://github.com/pezkuwichain/pezkuwi-common.git
synced 2026-10-20 18:56:18 +00:00
134f0ae3cee80c7dc5f54a9b2c03b67ad20c39d4
The root resolutions pointed @pezkuwi/scure-sr25519 at portal:/home/mamostehp/pezkuwi-wasm/packages/scure-sr25519, a directory that only existed on the machine 14.0.25 was published from. Everywhere else `yarn install` stops with "Manifest not found", so this repository could not be installed, built or tested, and the PR workflow had never run. util-crypto already asks for ^0.2.1, which is on npm; its lib/ is identical to packages/scure-sr25519 in pezkuwi-wasm (same "bizinikiwi" signing context). Dropping the resolution resolves it there. With this, install, lint and test run. They are not green yet: 161 of 3014 tests fail, most of them on @pezkuwi/wasm-crypto 7.5.17 stubs (secp256k1, ed25519, scrypt, bip39Generate "not yet implemented"), which pezkuwi-wasm#2 fixes as 7.5.19. That, the remaining failures and the continue-on-error in pr-any.yml follow once 7.5.19 is published.
@pezkuwi/common
Common utilities, cryptographic functions, and keyring management for PezkuwiChain applications.
Developed by Dijital Kurdistan Tech Institute
Overview
This repository provides utility functions with additional safety checks, allowing for consistent coding and reducing boilerplate across all @pezkuwi packages.
Packages
| Package | Description |
|---|---|
| @pezkuwi/keyring | Keyring management for accounts |
| @pezkuwi/util | General utility functions |
| @pezkuwi/util-crypto | Cryptographic and hashing utilities |
| @pezkuwi/networks | Network definitions |
| @pezkuwi/x-bigint | BigInt polyfills |
| @pezkuwi/x-fetch | Fetch polyfills |
| @pezkuwi/x-global | Global object utilities |
| @pezkuwi/x-randomvalues | Random values polyfills |
| @pezkuwi/x-textdecoder | TextDecoder polyfills |
| @pezkuwi/x-textencoder | TextEncoder polyfills |
| @pezkuwi/x-ws | WebSocket polyfills |
Installation
# Keyring
npm install @pezkuwi/keyring
# Utilities
npm install @pezkuwi/util
# Crypto utilities
npm install @pezkuwi/util-crypto
Quick Start
import { Keyring } from '@pezkuwi/keyring';
import { hexToU8a, u8aToHex } from '@pezkuwi/util';
import { mnemonicGenerate, blake2AsHex } from '@pezkuwi/util-crypto';
// Generate a mnemonic
const mnemonic = mnemonicGenerate();
// Create a keyring and add account
const keyring = new Keyring({ type: 'sr25519' });
const pair = keyring.addFromMnemonic(mnemonic);
console.log(`Address: ${pair.address}`);
Development
Prerequisites
- Node.js >= 18.14
- Yarn 4.x (via corepack)
Building
git clone https://github.com/pezkuwichain/pezkuwi-common
cd pezkuwi-common
corepack enable
yarn install
yarn build
Tutorials
Looking for tutorials? Check out examples for guides on how to use these utilities.
Links
- Website: https://pezkuwichain.io
- Documentation: https://docs.pezkuwichain.io
- API Docs: https://js.pezkuwichain.app
- GitHub: https://github.com/pezkuwichain
License
Apache-2.0
Author
Dijital Kurdistan Tech Institute
Languages
TypeScript
99.4%
Python
0.2%
Shell
0.2%
JavaScript
0.1%
HTML
0.1%