PATH Installation
Option 1: Build from Source
Requires Go 1.25+, Make, and Git.
bash
git clone https://github.com/pokt-network/path.git
cd path
make path_buildRun with a config file:
bash
CONFIG_PATH=./config.yaml make path_runOption 2: Docker
bash
docker build -t path:local .
docker run -p 3069:3069 -v $(pwd)/config.yaml:/app/config.yaml path:localFor production builds with glibc (smaller image):
bash
docker build -f Dockerfile.release.glibc -t path:release .Option 3: Tilt Development Environment
The full development stack includes PATH, Envoy Proxy, Prometheus, Grafana, rate limiting, and authentication — all running in a local Kubernetes cluster.
bash
# Start the development environment
make path_up
# Stop
make path_downRequires: Docker, kind, and Tilt.
The Tilt environment uses local/kind-config.yaml for cluster configuration and Tiltfile for service orchestration.
Configuration
PATH requires a YAML config file. Copy the example and customize:
bash
cp config/examples/config.shannon_example.yaml config.yamlSee Configuration for the complete reference.
Verifying Installation
bash
# Health check
curl http://localhost:3069/health
# Check all services
curl http://localhost:3069/ready
# Test a relay
curl -X POST http://localhost:3069/v1 \
-H "Content-Type: application/json" \
-H "Target-Service-Id: eth" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'Development Commands
| Command | Purpose |
|---|---|
make path_build | Build binary locally |
make path_run | Run binary (needs CONFIG_PATH) |
make path_up / path_down | Start/stop Tilt dev environment |
make test_unit | Run unit tests |
make test_all | Unit + E2E tests |
make e2e_test SERVICE_IDS | E2E for specific services (e.g. make e2e_test eth,poly) |
make load_test SERVICE_IDS | Load tests |
make go_lint | Run golangci-lint |