Pocket Node Binary Setup

This guide is to help get you started configuring a Pocket Node using the Pocket Core CLI. If you would like to use Docker for easier deployment then click here.

Prerequisites:

Starting Your Pocket Node:

Before your node can begin relaying data on the network, you need to stake the first account you have created(or imported) before you can relay data.

Start Your Pocket Node

You need to connect to the network in order to send the staking transaction. This is done two ways:

  • By running pocket start which automatically connects you to the seeded nodes running on RC-0.2.1.
  • Bootstrapping your node using the seeds flag to the network by connecting directly to a peer.

Running "pocket start":

Open up a new Terminal window and start your node using the CLI by entering:

$   Pocket start 

This will connect to the core Pocket Nodes running on the network.

Connecting To The Current Network

When you first entered pocket start , you may notice a message saying: "Peer is on a different network. Got pocket-testnet-rc-0.2.1, expected pocket-testet-playground". This is due to the genesis.file isn't pointing to the correct network.

Example

Example

to get fully connected all we will need to do is navigate to:

./pocket/config

Inside the config folder, you are going to modify the genesis.json file and replace all of the content with the new genesis file.

Once the file has been modified to the correct version and saved we will need to enter:

pocket reset

and reinitialize the node by entering:

pocket start

Seeding Your Node:

Seeding your node is important because it allows the network to be redundant by sharing different addresses across the network, meaning if your node you're seeded to goes down, it will connect to another node that is in your address book.

To seed your node we are going to first get a list of nodes from the CLI:

pocket query nodes --staking-status=staked 0

# example return
Address:		610c...
Public Key:		1807...
Jailed:			false
Status:			Staked
Tokens:			900000000
ServiceURL:		http://node1.testnet.pokt.network:8081
Chains:			[8ef9a7c67f6f8ad14f82c1f340963951245f912f037a7087f3f2d2f9f9ee38a8]
Unstaking Completion Time:		0001-01-01 00:00:00 +0000 UTC

Address:		e694...
Public Key:		4ac6...
Jailed:			false
Status:			Staked
Tokens:			900000000
ServiceURL:	http://node2.testnet.pokt.network:8081
Chains:			[8ef9a7c67f6f8ad14f82c1f340963951245f912f037a7087f3f2d2f9f9ee38a8]
Unstaking Completion Time:		0001-01-01 00:00:00 +0000 UTC

Choose the node we want to seed to by copying the Address and ServiceURL and enter in the following:

$ pocket start --seeds=<ID>@<IP>:<PORT>

#example: 
pocket start --seeds="[email protected]:26656"

Now that we are connected to the network, let's stake the account that is registered with our node.

Staking Your Node:

To stake your node you need to specify the following params before you're able to stake your node.

Note: If this is your first time configuring a node, the fromAddr will always be the first address that was either:

  • imported before entering pocket start command
  • created using the pocket start command

While your node is running, open up a new terminal window and enter:

# fromAddr: The address of the account that is staking the node
# amount: The amout you want to stake in uPOKT. Minumum is 1 POKT(1000000 uPOKT) for testnet
# chains: A comma separated list of chain Network Identifiers(see: https://docs.pokt.network/docs/connecting-your-service-node-to-a-blockchain
# serviceURI: The Service URI of your Pocket Node that applications will use to communicate with your node for relays.

$ pocket nodes stake <fromAddr> <amount> <chains> <serviceURI> 

# Example: 
$ pocket nodes stake abc123 10000000 8cf7f8799c5b30d36c86d18f0f4ca041cf1803e0414ed9e9fd3a19ba2f0938ff http://foo.com

Updated about 12 hours ago



Pocket Node Binary Setup


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.