Official implementation of the Pocket Network Protocol
Branch: staging
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
accounts
build
cmd added assumptions print for integration tests Feb 19, 2019
config
consensus
const
crypto
dao
db
dispatch
doc redid all of the tests to be more robust for what they are. Removed a… Feb 19, 2019
errors
logs
mempool
message
node
p2p
plugin/rpc
policy
rpc
service
session
tests
types
util
validate
wallet
.editorconfig
.gitignore
Gopkg.lock
Gopkg.toml Removed autogenerated comments Nov 12, 2018
LICENSE
README.md

README.md

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 the Pocket Network Protocol you can visit pokt.network.

How to run it

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

  -cfile string
    	specifies the filepath for chains.json 
	(default "[datadir]/chains.json")
  -clientrpc
    	whether or not to start the rpc server 
	(default true)
  -clientrpcport string
    	specified port to run client rpc 
	(default "8080")
  -datadirectory string
    	setup a custom location for the datadirectory 
	(default: `%APPDATA%\Pocket` for Windows, `~/.pocket` for Linux, `~/Library/Pocket` for Mac)
  -dbend string
    	specifies the database endpoint for the centralized dispatcher 
	(default "dynamodb.us-east-2.amazonaws.com")
  -dbtable string
    	specifies the database tablename for the centralized dispatcher 
	(default "dispatchPeers")
  -dfile string
    	specifies the filepath for developer_whitelist.json 
	(default "[datadir]/developer_whitelist.json")
  -discport string
    	specifies the client port of the centralized dispatcher 
	(default "8080")
  -disip string
    	specifies the address of the centralized dispatcher 
	(default "localhost")
  -dismode int
    	specifies the mode by which the dispatcher is operating 
	(0) Normal, (1) Migrate, (2) Deprecated
  -dispatch
    	specifies if this node is operating as a dispatcher
  -disrport string
    	specifies the relay port of the centralized dispatcher 
	(default "8081")
  -gid string
    	set the selfNode.GID for pocket core mvp 
	(default "GID1")
  -pfile string
    	specifies the filepath for peers.json 
	(default "[datadir]/peers.json")
  -relayrpc
    	whether or not to start the rpc server 
	(default true)
  -relayrpcport string
    	specified port to run relay rpc 
	(default "8081")
  -sfile string
    	specifies the filepath for service_whitelist.json 
	(default "[datadir]/service_whitelist.json")

How to test

To run the Pocket Core unit tests, use the go testing tools and the go test ./... command within the tests directory

How to contribute

Pocket Core is an open source project, and as such we welcome any contribution from anyone on the internet. Please read our Developer Setup Guide on how get started.

Please fork, code and submit a Pull Request for the Pocket Core Team to review and merge. We ask that you please follow the guidelines below in order to submit your contributions for review:

High impact or architectural changes

Reach out to us on Telegram and start a discussion with the Pocket Core Team regarding your change before you start working. Communication is key for open source projects and asynchronous contributions.

For an active research forum, checkout and post on our forum.

Coding style

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • (Optional) Use Editor Config to help your Text Editor keep the same formatting used throughout the project.
  • Code must be documented adhering to the official Go commentary guidelines.
  • Pull requests need to be based on and opened against the `staging` branch.

How to build

run: `go build pokt-network/pocket-core/cmd/pocket_core/main.go`

Contact