Pocket Network Guide (30-60 min)
tl;dr Set up PATH
with Pocket Network's Shannon protocol
Download your configs here
1. Download the shannon .config.yaml
For MainNet:
op item get 4ifsnkuifvaggwgptns6xyglsa --fields notesPlain --format json | jq -r '.value' > ./local/path/.config.yaml
For Beta TestNet:
op item get 3treknedz5q47rgwdbreluwffu --fields notesPlain --format json | jq -r '.value' > ./local/path/.config.yaml
2. Comment out unused config sections
In ./local/path/.config.yaml
:
-
Comment out the
owned_apps_private_keys_hex
you're not using for testing. -
Comment out the
data_reporter_config
section:sed -i '' \
-e 's/^[[:space:]]*data_reporter_config:/# data_reporter_config:/' \
-e 's/^[[:space:]]*"target_url":/# "target_url":/' \
local/path/.config.yaml
3. Download the guard .values.yaml
op item get fkltz2wb7fegpumntqyo3w5qau --fields notesPlain --format json | jq -r '.value' > ./local/path/.values.yaml
4. Skip to Section 4
Skip to Section 4: Run PATH
dev.poktroll.com
?Coming from the App & PATH Gateway Cheat Sheet?
Skip to 2.1 Generate Shannon Config.
Table of Contents
- 0. Prerequisites
- 1. Protocol Account Setup (Applications & Gateway)
- 2. PATH Protocol Configuration (
.config.yaml
) - 3. PATH Envoy Configuration (
.values.yaml
) - 4. Run PATH Stack Locally
- 5. Stop PATH
0. Prerequisites
⚠️ Complete the Getting Started guide.
1. Protocol Account Setup (Applications & Gateway)
You will need:
- Gateway: Facilitates relays and ensures QoS
- Application: Sends and pays for relays
1.1 Account Creation
Choose one of the following flows to setup your accounts:
-
Recommended Setup: Follow the App & PATH Gateway Cheat Sheet for complete setup.
-
Quick Setup for first-time users:
Copy-pasta to stake onchain Application & Gateway
Create gateway stake config:
cat <<EOF > /tmp/stake_gateway_config.yaml
stake_amount: 1000000upokt
EOFCreate application stake config:
cat <<EOF > /tmp/stake_app_config.yaml
stake_amount: 100000000upokt
service_ids:
- "anvil"
EOFCreate accounts:
pocketd keys add gateway
pocketd keys add applicationFund accounts: Use faucet links here.
Grove employees onlyFund using
pkd_beta_tx
helper (instructions):pkd_beta_tx bank send faucet_beta $(pocketd keys show -a application --keyring-backend=test) 6900000000042upokt
pkd_beta_tx bank send faucet_beta $(pocketd keys show -a gateway --keyring-backend=test) 6900000000042upoktStake gateway:
pocketd tx gateway stake-gateway \
--config=/tmp/stake_gateway_config.yaml \
--from=gateway --gas=auto --gas-prices=200upokt --gas-adjustment=1.5 --chain-id=pocket-beta \
--node=https://shannon-grove-rpc.mainnet.poktroll.com \
--keyring-backend=test \
--yesStake application:
pocketd tx application stake-application \
--config=/tmp/stake_app_config.yaml \
--from=application --gas=auto --gas-prices=200upokt --gas-adjustment=1.5 --chain-id=pocket-beta \
--node=https://shannon-grove-rpc.mainnet.poktroll.com \
--keyring-backend=test \
--yesDelegate application to gateway:
pocketd tx application delegate-to-gateway $(pocketd keys show -a gateway --keyring-backend=test) \
--from=application --gas=auto --gas-prices=200upokt --gas-adjustment=1.5 --chain-id=pocket-beta \
--node=https://shannon-grove-rpc.mainnet.poktroll.com \
--keyring-backend=test \
--yes
1.2 Account Validation
Verify the keys are in your keyring:
# All accounts
pocketd keys list --keyring-backend=test
# Gateway only
pocketd keys show -a gateway --keyring-backend=test
# Application only
pocketd keys show -a application --keyring-backend=test
2. PATH Protocol Configuration (.config.yaml
)
2.1 Generate Shannon Config
Generate config at local/path/.config.yaml
:
make config_shannon_populate
Override defaults if needed:
POCKETD_HOME
: Path to pocketd home (default$HOME/.pocketd
)POCKETD_KEYRING_BACKEND
: Keyring backend (defaulttest
)
2.2 Verify Shannon Configuration
Check config:
cat local/path/.config.yaml
Expected format:
shannon_config:
full_node_config:
rpc_url: https://shannon-grove-rpc.mainnet.poktroll.com
grpc_config:
host_port: shannon-grove-grpc.mainnet.poktroll.com:443
lazy_mode: false
gateway_config:
gateway_mode: "centralized"
gateway_address: pokt1... # Your gateway address
gateway_private_key_hex: "0x..." # Your gateway private key
owned_apps_private_keys_hex:
- "0x..." # Your application private key
2.3 Verify onchain configuration matches
Verify service configuration for each application:
pocketd query application show-application \
$(pocketd keys show -a application --keyring-backend=test) \
--node=https://shannon-grove-rpc.mainnet.poktroll.com
:::
3. PATH Envoy Configuration (.values.yaml
)
You can learn more about various configurations at Auth Configs or Helm Docs. It covers auth, rate limiting, etc...
3.1 Copy the template config
Run the following command to create local/path/.values.yaml
:
make configs_copy_values_yaml
And check the contents of local/path/.values.yaml
:
cat local/path/.values.yaml
3.2 Update the services
Update this section with the services you want to support. For example:
guard:
services:
- serviceId: eth
- serviceId: svc1
- serviceId: sv2
Make sure this reflects both of the following:
- What your onchain application is configured to support.
- What your gateway
.config.yaml
is configured for
4. Run PATH Stack Locally
4.1 Run & Monitor PATH
Run the following command and wait 1-2 minutes:
make path_up
Your terminal should display the following:
Visit the Tilt dashboard at localhost:10350 and make sure everything is 🟢.
4.2 Check configured services
curl http://localhost:3070/healthz | jq
4.3 Example Relays
See Example Relays.
5. Stop PATH
When you're finished testing:
make path_down