pocket-core

module
v0.0.0-...-018dd44 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2024 License: MIT

README

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.

Table of Contents

Installation

# 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.

Usage

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.

Documentation

Portal

The Portal to the Pocket Network is provided by Pocket Network Inc.

Database Snapshots

Snapshots are provided by Liquify LTD details on how to access the snapshots can be found in snapshot.md

Pocket Pruner

An offline pruning tool is provided by C0D3R. The tool is available in their GitHub repository.

Accessing TestNet

TestNet information can be found at testnet.md and is maintained by:

  1. Cryptonode
  2. Stakenodes

Charts & Analytics

Key charts & analytics are provided by POKTScan and C0D3R.

Running the tests

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

Contributing

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

Seeds (MainNet & TestNet)

Seeds for the mainnet are maintained by NodeFleet, and seeds for the testnet are managed by Stakenodes and Cryptonode.

You can find all the details at pokt-network/pocket-seeds.

Docker Image

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

Rollback Recovery Process

An example of a rollback recovery process can be found here.

Support & Contact

License

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


Directories

Path Synopsis
app
/* Package baseapp contains data structures that provide basic data storage functionality and act as a bridge between the ABCI interface and the SDK abstractions.
/* Package baseapp contains data structures that provide basic data storage functionality and act as a bridge between the ABCI interface and the SDK abstractions.
legacy
Package legacy contains a global amino Cdc which is deprecated but still used in several places within the SDK.
Package legacy contains a global amino Cdc which is deprecated but still used in several places within the SDK.
types
Package types defines a custom wrapper for google.protobuf.Any which supports cached values as well as InterfaceRegistry which keeps track of types which can be used with Any for both security and introspection
Package types defines a custom wrapper for google.protobuf.Any which supports cached values as well as InterfaceRegistry which keeps track of types which can be used with Any for both security and introspection
unknownproto
unknownproto implements functionality to "type check" protobuf serialized byte sequences against an expected proto.Message to report:
unknownproto implements functionality to "type check" protobuf serialized byte sequences against an expected proto.Message to report:
e2e
module
Package module contains application module patterns and associated "manager" functionality.
Package module contains application module patterns and associated "manager" functionality.
x
auth
Package auth nolint autogenerated code using github.com/rigelrozanski/multitool aliases generated for the following subdirectories: ALIASGEN: github.com/pokt-network/pocket-core/x/auth/types
Package auth nolint autogenerated code using github.com/rigelrozanski/multitool aliases generated for the following subdirectories: ALIASGEN: github.com/pokt-network/pocket-core/x/auth/types
gov
nolint
nolint

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL