This document describes how to use install and configure a new instance of cheqd-node
from pre-built packages and adding it to an existing network (such as the the cheqd testnet) as an observer or validator.
For other scenarios, please see setting up a new network from scratch and building cheqd-node
from source.
- 1GB RAM
- 25GB of disk space
- 1.4 GHz CPU
- 2GB RAM
- 100GB SSD
- x64 2.0 GHz 2v CPU
Extended information on recommended hardware requirements is available in Tendermint documentation.
Our packaged releases are currently compiled and tested for Ubuntu 20.04 LTS
, which is the recommended operating system for installation using Debian package or binaries.
For other operating systems, we recommend using pre-built Docker image releases for cheqd-node
.
We plan on supporting other operating systems in the future, based on demand for specific platforms by the community.
We recommend using a separate storage volume for the data
directory where the node's copy of the ledger is stored.
The default directory location depends on the installation method used:
- For binary distribution, it is
$HOME/.cheqdnode/data
- For installations done using our Debian packages, it is
/var/lib/cheqd/.cheqdnode/data
.
To function properly, cheqd-node
requires two types of ports to be configured. Depending on the setup, you may also need to configure firewall rules to allow the correct ingress/egress traffic.
Node operators should ensure there are no existing services running on these ports before proceeding with installation.
The P2P port is used for peer-to-peer communication between nodes.
Further details on how P2P settings work is defined in Tendermint documentation.
- By default, the P2P port is set to
26656
. - Inbound and outbound TCP connections must be allowed from any IPv4 address range.
- The default P2P port can be changed in
/etc/cheqd-node/config.toml
.
The RPC port is intended to be used by client applications to interact with the node.
During node configuration for cheqd testnet, the RPC port is needed to transfer the initial balance of cheq
tokens required for staking.
Beyond this stage, it is up to a node operator whether they want this port to be exposed to the public internet.
The RPC endpoints for a node provide REST, JSONRPC over HTTP, and JSONRPC over WebSockets. These API endpoints can provide useful information for node operators, such as healthchecks, network information, validator information etc.
- By default, the RPC port is set to
26657
- Inbound and outbound TCP connections should be allowed from destinations desired by the node operator. The default is to allow this from any IPv4 address range.
- TLS for the RPC port can also be setup separately. Currently, TLS setup is not automatically carried out in the install process described below.
- The default RPC port can be changed in
/etc/cheqd-node/config.toml
.
Tendermint allows more complex setups in production, where the ingress/egress to a validator node is proxied behind a "sentry" node.
While this setup is not compulsory, node operators with higher stakes or a need to have more robust network security may consider setting up a sentry-validator node architecture.
Follow the guide for your preferred installation method:
Configure your node as a validator after successful installation.
- Tendermint documentation has best practices for running a Cosmos node in production.
- Сosmovisor could be used for automatic upgrades; however in our testing so far this method has not been reliable and is therefore currently not recommended.