Official golang implementation of the Pocket Network Protocol.
The Pocket Core application will allow anyone to spin up a Pocket Network full node, with options to enable/disable functionality and modules according to each deployment. For more information on Pocket Network, visit pokt.network.
- Overview
- Installation
- Usage
- Documentation
- Portal
- Database Snapshots
- Pocket Pruner
- Accessing TestNet
- Charts & Analytics
- Running the tests
- Contributing
- Seeds (MainNet & TestNet)
- Docker Image
- Support & Contact
- License
# Build local binary
git clone git@github.com:pokt-network/pocket && \
cd pocket && \
go build app/cmd/pocket_core/pocket.go
# Assign local binary and add to your `PATH` if you'd like to use it without direct reference to the binary.
export POKT=$(pwd)/main
TIP: You can find alternative ways of installing pocket
(e.g. homebrew) via the instructions here.
To run the Pocket Core binary you can use the following flags alongside the pocket
executable:
Usage:
pocket [command]
Available Commands:
accounts account management
apps application management
completion Generate the autocompletion script for the specified shell
gov governance management
help Help about any command
nodes node management
query query the blockchain
reset Reset pocket-core
start starts pocket-core daemon
stop Stop pocket-core
util utility functions
version Get current version
Flags:
--datadir string data directory (default is $HOME/.pocket/
-h, --help help for pocket
--node string takes a remote endpoint in the form <protocol>://<host>:<port>
--persistent_peers string a comma separated list of PeerURLs: '<ID>@<IP>:<PORT>,<ID2>@<IP2>:<PORT>...<IDn>@<IPn>:<PORT>'
--remoteCLIURL string takes a remote endpoint in the form of <protocol>://<host> (uses RPC Port)
--seeds string a comma separated list of PeerURLs: '<ID>@<IP>:<PORT>,<ID2>@<IP2>:<PORT>...<IDn>@<IPn>:<PORT>'
Use "pocket [command] --help" for more information about a command.
For more detailed command information, see the usage section.
- Visit our user documentation for tutorials and technical information on the Pocket Network.
- Visit pocket-core-doc repo for operations such as protocol upgrade, chainhalt recovery, etc.
The Portal to the Pocket Network is provided by Pocket Network Inc.
Snapshots are provided by Liquify LTD details on how to access the snapshots can be found in snapshot.md
An offline pruning tool is provided by C0D3R. The tool is available in their GitHub repository.
TestNet information can be found at testnet.md and is maintained by the nodefleet.org team.
Key charts & analytics are provided by POKTScan and C0D3R.
To run the Pocket Core unit tests, go test -short -v -p 1 ./...
Please read CONTRIBUTING.md for details on contributions and the process of submitting pull requests.
Seeds are maintained by NodeFleet.
You can find all the details at pokt-network/pocket-seeds.
GitHub Packages is used to maintain docker images via this workflow.
The latest images can be found here.
The latest image can be pulled like so:
docker pull ghcr.io/pokt-network/pocket-v0:latest
You can also use our chatbot, GPokT, to ask questions about Pocket Network. As of updating this documentation, please note that it may require you to provide your own LLM API token. If the deployed version of GPokT is down, you can deploy your own version by following the instructions here.
This project is licensed under the MIT License; see the LICENSE.md file for details