📄️ Introduction
This section provides resources for monitoring, testing, and troubleshooting Pocket validator nodes.
📄️ Bash Cheatsheet
The following are commonly used commands used when working with a Pocket Node.
📄️ Using Certbot
Certbot is a client-side tool that uses the Let's Encrypt (ACME) protocol to obtain and renew SSL certificates. It is a free tool that lets you automatically obtain and renew SSL certificates for your domain. The official documentation is available here but the following should be most of what you'll need to know.
📄️ Change mount point
To change a mount point you can do the following:
📄️ Create Partition
To create a partition on a volume, do the following:
📄️ Directory Size
To find the size of a directory, you can use the following command:
📄️ Disk Space
To check the available disk space on your node, you can use the following command:
📄️ Dynamic DNS
If you don't have a static IP address you'll need to update your DNS records every time your IP address changes. This is called dynamic DNS. There are service providers that offer dynamic DNS services, but it's possible to do it yourself as well.
📄️ Get geolocation
The distance between two nodes will play a major role in the network latency.
📄️ Get IP Address
To get the local IP address use the following:
📄️ Hardware Config
On Ubuntu you can use the “lshw” command to display the hardware configuration.
📄️ Hostname Usage
The hostname command can be used to identify your nodes.
📄️ Installing Go
To install Go, do the following:
📄️ Install SSH
To install ssh on Ubuntu 20.04, run the following commands:
📄️ Internet Speed
To test your internet speed on Linux from the command line, you can use a few different tools.
📄️ I/O Performance
Blockchain nodes tend to be I/O bound. So in terms of performance, the disk/volume speed is likely to be the most important factor for a Pocket node.
📄️ Nginx Config
Nginx uses configuration (config) files to define servers and routes for incoming requests. For Pocket nodes, nginx needs to relay public requests to an http server that listens on local ports. This is referred to as a proxy configuration.
📄️ Open Files Count
To get a count of the open file descriptors, you can use the following command:
📄️ Pocket Config
The Pocket CLI uses a conf file to store configuration details for the Pocket Core software. By default the config file is located at ~/.pocket/config/config.json. In this document we'll look at how to create a new config file.
📄️ Pocket genesis.json
If you start pocket for the first time using the --mainnet flag, a genesis.json file will be created. The other option is to do the following:
📄️ Pokt Protocol
As a node runner, it's important to understand the parameters of the Pokt Protocol. You can view the official documentation here//docs.pokt.network/home/resources/references/protocol-parameters.
📄️ Resize a partition
To resize a partition, you can use the following command:
📄️ Pocket Resources
The following are links to other Pocket related resources.
📄️ RPC Endpoints
Pocket uses a software called Tendermint for data replication and consensus. More specificity, Pocket uses the Go version of Tendermint Core.
📄️ Using rsync
If you have two nodes you can use rsync to sync the database between them.
📄️ Signing Info
A useful command for Pocket node runners is the pocket query signing-info [address] command. This command returns useful information about the node - like if the node is close to getting jailed.
📄️ Slash Avoidance
Validators nodes get slashed (lose POKT they've staked) if they fail to sign blocks. Here are some common reasons why a validator might not be signing blocks properly.
📄️ Systemd Scripts
Systemd can be used to run scripts as services. This is useful for running scripts that need to be run periodically, or that need to be run on a schedule.
📄️ Systemd Services
For production use, running pocket in a tmux session isn't recommended. A better option to use a service manager like systemd to run and manage the pocket service.
📄️ Tendermint TCP
On the public network you can test that the Tendermint TCP ports are listening for connections using the nz or telent utilities.
📄️ Troubleshooting
Here are some things you can do to ensure that Pocket is working correctly and troubleshooting any issues you may encounter.
📄️ Ubuntu Updates
To keep your Ubuntu system updated, you can use the following command:
📄️ UFW Settings
UFW is a firewall configuration tool that is included with Ubuntu. We use it to limit the available ports on our node.
📄️ User setup
For security reasons it's best not to use the root user. Instead, create a new user and add the user to the sudo group.