Files
pezkuwi-sdk/DEVELOPMENT.md
T
Satoshi Qazi Muhammed d285d59108 sync: mirror deployed github repo (chains + sanitized bridge), keep GitLab CI
Make this monorepo's tracked tree identical to the deployed github repo
(github.com/pezkuwichain/pezkuwi-DKS): all RC/AH/People runtimes and framework
carry the mainnet fixes (incl. U128CurrencyToVote everywhere, so the staking
election stall cannot recur), and tools/usdt-bridge matches the current,
public-safe custody tooling (real config/deploy units gitignored, secret-file
locations and server IPs stripped, sanitized *.example templates committed).

Only exception to the mirror: GitLab-native CI is preserved (.gitlab-ci.yml and
.gitlab/), to be rebuilt to match the github CI pipeline in a follow-up.
2026-07-24 11:42:50 -07:00

93 lines
1.7 KiB
Markdown

# Development Guide
Quick reference for building and running Pezkuwi SDK locally.
For full documentation see the [Development Guide wiki](https://docs.pezkuwichain.io/).
## System Requirements
| Resource | Minimum | Recommended |
|----------|---------|-------------|
| CPU | 4 cores | 8+ cores |
| RAM | 8 GB | 16+ GB |
| Disk | 50 GB | 100+ GB SSD |
| OS | Ubuntu 22.04 / macOS 13+ | Ubuntu 24.04 |
### Dependencies (Ubuntu)
```bash
sudo apt-get install -y \
build-essential git clang cmake pkg-config \
libssl-dev protobuf-compiler
```
### Dependencies (macOS)
```bash
brew install cmake protobuf openssl
```
## Rust Setup
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add wasm32-unknown-unknown
```
> Toolchain version is pinned in `rust-toolchain.toml` (currently 1.88.0).
> `rustup show` will install it automatically.
## Build
```bash
# Type-check entire workspace (fast)
cargo check --workspace --locked
# Build node binary
cargo build --release -p pezkuwi --locked
# Binaries produced:
# target/release/pezkuwi
# target/release/pezkuwi-execute-worker
# target/release/pezkuwi-prepare-worker
```
## Run a Local Dev Node
```bash
./target/release/pezkuwi --dev
```
## Tests
```bash
# Unit tests
cargo test --workspace --lib --locked
# With nextest (parallel, faster)
cargo nextest run --workspace --locked
# Doc tests
cargo test --doc --workspace --locked
```
## Linting
```bash
cargo fmt --all
cargo clippy --workspace --all-targets --all-features -- -D warnings
taplo format --config .config/taplo.toml
```
## Docs
```bash
cargo doc --workspace --no-deps --open
```
## More
- [Architecture](https://docs.pezkuwichain.io/)
- [Custom Pallets](https://docs.pezkuwichain.io/)
- [Contributing](./CONTRIBUTING.md)