Environment Setup (< 10 min)
This guide provides instructions required to setup your environment for local development. locally in a development environment.
It is a pre-requisite for both the:
- Shannon Protocol Guide: Pocket Network v1 (Private MainNet as of 04/2025)
- Morse Protocol Guide: For the original Morse protocol (Public MainNet as of 2020)
Table of Contents
Development Environment Details
PATH's development mode uses a Kubernetes-based local development environment with Tilt.
We use Kind (Kubernetes in Docker) for running the local Kubernetes cluster, as it provides better compatibility with Tilt's image building process compared to Docker Desktop's Kubernetes cluster.
Technical Pre-Requisites & Setup
1. Clone the Repository
git clone https://github.com/buildwithgrove/path.git
cd ./path
2. Install Required Tools (Linux & MacOS)
Install pocketd
CLI
To install the pocketd
CLI on Linux or MacOS, run:
curl -sSL https://raw.githubusercontent.com/pokt-network/poktroll/main/scripts/install.sh | bash
Install Required Local Tools
To install all required local development tools on Linux or MacOS, run:
make install_tools
The above script will install the following tools which are required to start a PATH instance locally in development mode:
- Docker: Container runtime
- Kind: Local Kubernetes cluster
- kubectl: CLI for interacting with Kubernetes
- Helm: Package manager for Kubernetes
- Tilt: Local Kubernetes development environment
The following optional tools may be helpful for your development workflow but are not required to start a PATH instance locally in development mode:
- Relay Util: An easy to use load testing tool for sending configurable batches of relays concurrently
- Graphviz: Required for generating profiling & debugging performance
- Uber Mockgen: Mock interface generator for testing
They may be installed with:
make install_optional_tools
3. Choose Your Protocol
Pick one of these protocols and follow the respective guide.
Protocol | Version (aka) | Status (04/2025) | Network | Documentation |
---|---|---|---|---|
Shannon | v1 | Beta & Private MainNet | TestNet | Shannon Protocol Guide |
Morse | v0 | MainNet (2020) | MainNet | Morse Protocol Guide |