# Pezkuwi SDK's Minimal Template

> This is a minimal template for creating a blockchain based on Pezkuwi SDK.
>
> This template is automatically updated after releases in the main [Pezkuwi SDK monorepo](https://github.com/pezkuwichain/pezkuwi-sdk).
## Table of Contents
- [Intro](#intro)
- [Template Structure](#template-structure)
- [Getting Started](#getting-started)
- [Starting a Minimal Template Chain](#starting-a-minimal-template-chain)
- [Minimal Template Node](#pez-minimal-template-node)
- [Zombienet with Minimal Template Node](#zombienet-with-pez-minimal-template-node)
- [Connect with the PezkuwiChain-JS Apps Front-End](#connect-with-the-pezkuwi-js-apps-front-end)
- [Takeaways](#takeaways)
- [Contributing](#contributing)
- [Getting Help](#getting-help)
## Intro
- ๐ค This template is a minimal (in terms of complexity and the number of components)
template for building a blockchain node.
- ๐ง Its runtime is configured with a single custom pezpallet as a starting point, and a handful of ready-made pallets
such as a [Balances pezpallet](https://docs.pezkuwichain.io/sdk/master/pallet_balances/index.html).
- ๐ค The template has no consensus configured - it is best for experimenting with a single node network.
## Template Structure
A Pezkuwi SDK based project such as this one consists of:
- ๐งฎ the [Runtime](./runtime/README.md) - the core logic of the blockchain.
- ๐จ the [Pallets](./pallets/README.md) - from which the runtime is constructed.
- ๐ฟ a [Node](./node/README.md) - the binary application (which is not part of the cargo default-members list and is not
compiled unless building the entire workspace).
## Getting Started
- ๐ฆ The template is using the Rust language.
- ๐ Check the
[Rust installation instructions](https://www.rust-lang.org/tools/install) for your system.
- ๐ ๏ธ Depending on your operating system and Rust version, there might be additional
packages required to compile this template - please take note of the Rust compiler output.
Fetch minimal template code.
```sh
git clone https://github.com/pezkuwichain/pezkuwi-sdk/issues/25.git minimal-template
cd minimal-template
```
## Starting a Minimal Template Chain
### Minimal Template Node
#### Build both node & runtime
```sh
cargo build --workspace --release
```
๐ณ Alternatively, build the docker image which builds all the workspace members,
and has as entry point the node binary:
```sh
docker build . -t pezkuwi-sdk-minimal-template
```
#### Start the `pez-minimal-template-node`
The `pez-minimal-template-node` has dependency on the `pez-minimal-template-runtime`. It will use
the `pez_minimal_template_runtime::WASM_BINARY` constant (which holds the WASM blob as a byte
array) for chain spec building, while starting.
```sh