Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pokt-network/pocket-core

Official implementation of the Pocket Network Protocol
https://github.com/pokt-network/pocket-core

blockchain crypto decentralized golang infrastructure pocket pokt

Last synced: about 11 hours ago
JSON representation

Official implementation of the Pocket Network Protocol

Awesome Lists containing this project

README

        



Pocket Network logo

# Pocket Core

Official golang implementation of the Pocket Network Protocol.






## Overview











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](https://pokt.network).

## Table of Contents

- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
- [Documentation](#documentation)
- [Portal](#portal)
- [Database Snapshots](#database-snapshots)
- [Pocket Pruner](#pocket-pruner)
- [Accessing TestNet](#accessing-testnet)
- [Charts \& Analytics](#charts--analytics)
- [Running the tests](#running-the-tests)
- [Contributing](#contributing)
- [Seeds (MainNet \& TestNet)](#seeds-mainnet--testnet)
- [Docker Image](#docker-image)
- [Rollback Recovery Process](#rollback-recovery-process)
- [Support \& Contact](#support--contact)
- [License](#license)

## Installation

```bash
# Build local binary
git clone [email protected]: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](doc/guides/quickstart.md).

## Usage

To run the Pocket Core binary you can use the following flags alongside the `pocket` executable:

```bash
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 ://:
--persistent_peers string a comma separated list of PeerURLs: '@:,@:...@:'
--remoteCLIURL string takes a remote endpoint in the form of :// (uses RPC Port)
--seeds string a comma separated list of PeerURLs: '@:,@:...@:'

Use "pocket [command] --help" for more information about a command.
```

For more detailed command information, see the [usage section](doc/specs/cli/).

## Documentation

- Visit [our user documentation](https://docs.pokt.network) for tutorials and technical information on the Pocket Network.

## Portal

The Portal to the Pocket Network is provided by [Pocket Network Inc](https://portal.pokt.network/).

## Database Snapshots

Snapshots are provided by [Liquify LTD](https://www.liquify.io/) details on how to access the snapshots can be found in [snapshot.md](doc/guides/snapshot.md)

## Pocket Pruner

An offline pruning tool is provided by [C0D3R](https://c0d3r.org/). The tool is available in [their GitHub repository](https://github.com/msmania/pocket-pruner/).

## Accessing TestNet

TestNet information can be found at [testnet.md](doc/guides/testnet.md) and is maintained by:

1. [Cryptonode](https://cryptonode.tools/)
2. [Stakenodes](https://www.stakenodes.org/)

## Charts & Analytics

Key charts & analytics are provided by [POKTScan](https://poktscan.com/) and [C0D3R](https://c0d3r.org).

## Running the tests

To run the Pocket Core unit tests, `go test -short -v -p 1 ./...`

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on contributions and the process of submitting pull requests.

## Seeds (MainNet & TestNet)

Seeds for the `mainnet` are maintained by [NodeFleet](https://nodefleet.org/), and seeds for the `testnet` are managed by [Stakenodes](https://www.stakenodes.org/) and [Cryptonode](https://cryptonode.tools/).

You can find all the details at [pokt-network/pocket-seeds](https://github.com/pokt-network/pocket-seeds).

## Docker Image

[GitHub Packages](https://github.com/features/packages) is used to maintain
docker images via [this workflow](https://github.com/pokt-network/pocket-core/blob/staging/.github/workflows/build-images.yaml).

The latest images can be found [here](https://github.com/pokt-network/pocket-core/pkgs/container/pocket-v0).

The latest image can be pulled like so:

```bash
docker pull ghcr.io/pokt-network/pocket-v0:latest
```

## Rollback Recovery Process

An example of a rollback recovery process can be found [here](doc/guides/rollback.md).

## Support & Contact





## License

This project is licensed under the MIT License; see the [LICENSE.md](LICENSE.md) file for details

```

```