Zero to Node: Step-by-Step Instructions on Setting up a Pocket Node
Earlier this week, we ran a YouTube Instant Premiere of our “Zero to Node” video, a detailed walkthrough showing all the steps to get up and running with your own Pocket Network node. Written and produced by Steve Tingiris, founder at Dabble Lab and longtime Pocket community member, Zero to Node gives you everything you need to get a new node online.
Steve’s video goes in depth on each of the 5 different parts of the setup process, as laid out in the corresponding Zero to Node portion of the Pocket Docs. With a server connected to the internet, a domain name, the ability to add DNS records for your domain, and a little bit of know-how, anyone can use this video to start up their node.
While Steve will help you get your node set up to service Pocket blockchain transactions, the next steps beyond this video will be to decide which of our nearly 50 supported blockchains you want to sync in order to start servicing more relays and earning POKT rewards.
Here’s a preview of what Steve covered in each part of the video.
Part 1: Server Setup
This portion of the video helps viewers set up and configure a server to be a Pocket node. Steve uses Linode in the walkthrough, but your options are open for other cloud services as well. Throughout this section, Steve shares some thoughts on storage needs, minimum GB and CPU recommendations, best practices for SSH keys and passwords, and more.
In addition to setting up a Linode instance, this portion of the Zero to Node video details:
- Configuring DNS
- Setting the host name
- Creating a user (beyond the root user)
Part 2: Software Installation
Part 2 helps you install all of the necessary software for your Pocket node. There are 3 sub-parts to this process: installing dependencies; installing Go; and installing Pocket.
As Steve walks through each of these steps, he offers a brief overview of what some of the key dependencies are, specific tips for the download process, and clear instructions on setting up proper project directories and cloning any necessary repositories.
Part 3: Pocket Configuration
Up next is configuring your Pocket node.
In addition to explaining how to create Pocket wallet accounts via the node, Steve also explains the wallet import options that are available. Step-by-step instructions are also provided for setting up a validator address and confirming that address.
After the wallet instructions, the video includes a walkthrough of creating the “config,” “chains,” and “genesis” .json files. Steve explains a bit about what the config file contains, how the chains file functions to determine the chains that the node can relay to/from, and how the genesis file can allow your node to find other nodes to connect with. The video also includes a simple way to get this genesis file from GitHub.
With the wallet and .json instructions out of the way, Steve also explains how to adjust the default settings for open file limits in order to properly configure the node, including how to set permanent settings for this parameter.
From there, a recent snapshot of the Pocket blockchain needs to be downloaded to synchronize your node. Since this is the most time-consuming part of the process, and can take hours, Steve offers a number of helpful tips and tools to use to run this process in a separate session in the background, apart from the regular terminal session.
For the last part in this section, the video covers setting up a service manager to allow the Pocket node to keep running in the background. Some of the most helpful systemctl commands are discussed, as well as how to view logs and find any errors.
Part 4: Proxy Configuration
This portion of the Zero to Node video helps you configure the proxy setting on your node. Steve covers both registering and testing your SSL certificate, and how to configure Nginx to define servers and routes for incoming requests. In the Nginx portion, Steve shares helpful info on the config files and highlights the spots in which code will need to be changed for your specific node.
On the security front, Steve wraps up this portion by sharing how to enable an Uncomplicated Firewall (UFW) to make the server more secure, including which specific ports to enable/disable.
Part 5: Going Live
The part we’ve all been waiting for - going live with your node!
While the Pocket node should be up and running at this point, Steve covers the most important tests that can be run to double-check everything. In addition to testing that the Pocket service is running, it’s also important to check that the node is fully synced with the blockchain. Steve has some useful tips on how to query block height and check the block height of the node versus POKTscan. He also details what type of output to expect when checking network status, and how to read that output to determine if the node is fully synced.
Finally, after checking that your node is visible to others on the network, you’ll be ready to stake POKT, sync with your chosen blockchains, and start earning rewards for servicing relays.
View the Full Video to Get Your Node Running Today
If you’ve been holding off on setting up your node because you were unsure about some of the steps - now is the time to get up and running! This article is just a preview of Steve’s much more detailed instructions in the full video. Make sure to give it a watch, and reach out to our helpful community if any questions come up!
And remember, the next steps after this video will be to decide which blockchains you'd like to sync in order to start earning those POKT rewards.
Want to know more?
🦜 Follow Pocket on Twitter at @POKTnetwork
💬 Join the Pocket community in Discord
🔗 Mint an RPC endpoint for your application
👾 View our governance discussions in the Forum