mirror of
https://gitlab.com/pezkuwichain/pezkuwi-sdk.git
synced 2026-10-20 18:56:23 +00:00
docs: add DEVELOPMENT.md contributor setup guide
This commit is contained in:
1 parent
18d57b8e0c
commit
287fbfbcd2
1 file changed
+92
@@ -0,0 +1,92 @@
|
||||
# Development Guide
|
||||
|
||||
Quick reference for building and running Pezkuwi SDK locally.
|
||||
For full documentation see the [Development Guide wiki](https://gitlab.com/pezkuwichain/pezkuwi-sdk/-/wikis/Development-Guide).
|
||||
|
||||
## 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://gitlab.com/pezkuwichain/pezkuwi-sdk/-/wikis/Architecture)
|
||||
- [Custom Pallets](https://gitlab.com/pezkuwichain/pezkuwi-sdk/-/wikis/Custom-Pallets)
|
||||
- [Contributing](./CONTRIBUTING.md)
|
||||
|
||||
Reference in new issue
Block a user