mirror of
https://gitlab.com/pezkuwichain/pezkuwi-sdk.git
synced 2026-10-20 18:56:23 +00:00
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.
1.7 KiB
1.7 KiB
Development Guide
Quick reference for building and running Pezkuwi SDK locally. For full documentation see the Development Guide wiki.
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)
sudo apt-get install -y \
build-essential git clang cmake pkg-config \
libssl-dev protobuf-compiler
Dependencies (macOS)
brew install cmake protobuf openssl
Rust Setup
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 showwill install it automatically.
Build
# 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
./target/release/pezkuwi --dev
Tests
# Unit tests
cargo test --workspace --lib --locked
# With nextest (parallel, faster)
cargo nextest run --workspace --locked
# Doc tests
cargo test --doc --workspace --locked
Linting
cargo fmt --all
cargo clippy --workspace --all-targets --all-features -- -D warnings
taplo format --config .config/taplo.toml
Docs
cargo doc --workspace --no-deps --open