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.
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.
You need to connect to the network in order to send the staking transaction. This is done two ways:
- By running
pocket startwhich automatically connects you to the seeded nodes running on RC-0.2.1.
- Bootstrapping your node using the
seedsflag to the network by connecting directly to a peer.
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.
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.
to get fully connected all we will need to do is navigate to:
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:
and reinitialize the node by entering:
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.
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