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.
93 lines
1.7 KiB
Markdown
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)
|
|
|