pocketd CLI Installation

curl -LO "https://github.com/pokt-network/poktroll/releases/latest/download/pocket_$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz"

Extract to /usr/local/bin:

sudo tar -zxf "pocket_$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" -C /usr/local/bin

Make it executable:

sudo chmod +x /usr/local/bin/pocketd

Check version:

pocketd version

Additional references and links:

  • Pre-built binaries can be found on the releases page: https://github.com/pokt-network/poktroll/releases

  • Latest release: https://github.com/pokt-network/poktroll/releases/latest


From Source (danger zone)

Installation dependencies

  • https://go.dev/doc/install (Go v1.23+)

  • https://www.gnu.org/software/make/ (Make)

  • https://docs.ignite.com/welcome/install (Ignite CLI)

Build from source

Clone the repository:

git clone https://github.com/pokt-network/poktroll.git pocket
cd pocket

Build the dependencies:

make go_develop

Then, you have a few options:

1

Use the make target helper to use Ignite indirectly

make ignite_build_pocketd
2

Use Ignite to build the binary directly to the GOPATH

make ignite_build_pocketd
3

Use Ignite to build the binary directly to the current directory

make ignite_build

When you're done, verify the installation:

pocketd version
pocketd --help

Building Release Binaries From Source

The official binaries in our GitHub releases are built using this GitHub workflow: https://github.com/pokt-network/poktroll/actions/workflows/release-artifacts.yml

You can build the release binaries locally for all CPU architectures like so:

make ignite_release

Windows (why!?)


Publishing a new pocketd release

This section is intended for core protocol developers only. It is intended only for dev releases of the pocketd CLI. If you are publishing an official protocol upgrade accompanied by a CLI update, visit the release procedure docs: https://dev.poktroll.com/develop/upgrades/upgrade_preparation

1

Create a new dev or rc git tag

# Clone the repository if you haven't already
git clone [email protected]:pokt-network/poktroll.git poktroll
cd poktroll

# Create a new rc tag from `main` or `master` and follow the on-screen instructions
make release_tag_rc

# OR

# Create a new dev tag from any branch and follow the on-screen instructions
make release_tag_dev

# Push the tag to GitHub
git push origin $(git tag)
2

Draft a new GitHub release

Draft a new release at: https://github.com/pokt-network/poktroll/releases/new

Use the tag created in the previous step (e.g. v0.1.12-dev3). Mark the release as a pre-release and use the auto-generated release notes for simplicity.

3

Wait for the release artifacts to be built (5 - 20 minutes)

The release artifacts workflow https://github.com/pokt-network/poktroll/actions/workflows/release-artifacts.yml will automatically build and publish the release artifacts to GitHub. The artifacts will be attached as an Asset to your release once the workflow completes.

4

Verify via the pocketd-install.sh script

curl -sSL https://raw.githubusercontent.com/pokt-network/poktroll/main/tools/scripts/pocketd-install.sh | bash -s -- --tag v0.1.12-dev3 --upgrade

Was this helpful?