Paxeer Docs logo

Node Operations on Paxeer

Learn to install, configure, and run RPC, validator, statesync, and archive nodes on Paxeer using the hpx CLI tool.

Power the Paxeer Network Infrastructure

Guides for running validators, RPC nodes, and archive nodes on Paxeer.

RPC/API Nodes
Validator Nodes
Statesync Nodes
Archive Nodes

Quick start with hpx CLI

The fastest way to get a Paxeer node running is the hpx CLI tool:

curl -sSL https://get.cloud.hyperpaxeer.com/get-hpx.sh | sudo bash

This installs the hpx management tool for binary installation, configuration, and service management.

Hardware Requirements

ComponentRequired
CPU16 cores (Intel Xeon/Core i7/i9 or AMD Epyc/Ryzen)
RAM256 GB DDR5 or better
Storage2 TB NVMe SSD (high IOPS required)
Network2 Gbps with low latency

Installation & Setup Steps

1
Environment Setup

System Preparation

1. Update and Upgrade System

sudo apt update && sudo apt upgrade -y

2. Install Essential Packages

sudo apt install make gcc git jq chrony curl lz4 wget tar build-essential -y

3. Synchronize System Time

sudo timedatectl set-timezone UTC
sudo systemctl enable --now chronyd
timedatectl

Install Go

Suggested Version: Go 1.24.x

Installation Steps

# Check for existing Go installation
go version

# Download and install Go 1.24.x
wget https://go.dev/dl/go1.24.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz

# Add Go to your environment variables
echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc
source $HOME/.bashrc

# Verify installation
go version
2
Install Paxeer

Install Paxeer Binary

# Using the hpx CLI (recommended)
hpx install

# Or build from source:
git clone https://github.com/paxeer-network/paxeer-chain.git
cd paxeer-chain
git checkout <version-tag>
make install

# Verify installation
paxd version

If you encounter an error like command not found: paxd, you may need to set your GOPATH environment variable.

Add the following to your ~/.bashrc or ~/.zshrc:

export GOPATH=$(go env GOPATH)
export PATH=$PATH:$GOPATH/bin

Then reload your shell with source ~/.bashrc or source ~/.zshrc.

Initialize Chain Files

Default init mode is full (RPC/P2P bind to all interfaces). For validator or seed nodes, use --mode validator or --mode seed so RPC and P2P bind to localhost only. See the Validator Operations Guide for the full validator init example.

Seed peer:

e9c56cbadc4a96b67f69dcaaa7b4691851e945ca@31.220.74.140:26656
# Initialize node (default mode is full: RPC/P2P bind to all interfaces)
# For validator nodes, use: paxd init <your-moniker> --chain-id hyperpax_125-1 --mode validator
paxd init <your-moniker> --chain-id hyperpax_125-1

# Configure peers in config.toml.
PEERS="e9c56cbadc4a96b67f69dcaaa7b4691851e945ca@31.220.74.140:26656"

# Set persistent peers in config.toml
sed -i 's/persistent-peers = .*/persistent-peers = "'$PEERS'"/' ~/.paxeer/config/config.toml

Configure App Settings

# Set minimum gas price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.02uhpx\"/" $HOME/.paxeer/config/app.toml

# Tune mempool settings
sed -i \
  -e 's/^keep-invalid-txs-in-cache = .*/keep-invalid-txs-in-cache = true/' \
  -e 's/^ttl-duration = .*/ttl-duration = "5s"/' \
  -e 's/^ttl-num-blocks = .*/ttl-num-blocks = 5/' \
  $HOME/.paxeer/config/config.toml

# Set Concurrent Workers to 500 and enable occ
sed -i -e "s/^#concurrency-workers *=.*/concurrency-workers = 500/" $HOME/.paxeer/config/app.toml
sed -i -e "s/^occ-enabled *=.*/occ-enabled = true/" $HOME/.paxeer/config/app.toml

In case of running an Archive Node, make sure to set your state-store settings to ss-keep-recent = 0 with

sed -i 's/^ss-keep-recent = [0-9]*/ss-keep-recent = 0/' ~/.paxeer/config/app.toml

Archive Node Setup

An archive node maintains the complete historical record of the chain. This requires disabling state sync and starting with a pre-existing database using a "snapshot".

1. Disable State Sync - In $HOME/.paxeer/config/config.toml, modify the [statesync] section:

# State sync configuration
[statesync]
enable = false

2. Configure Archive Node Peers - To sync from the height your snapshot was created at, you need peers retaining a large amount of historical blocks.

Mempool Configuration

For optimal transaction handling and resource management, it is recommended to update the mempool settings in your config.toml file.

Adjust these parameters if you encounter performance or resource issues on your specific hardware.

# Mempool configuration settings
[mempool]

# Broadcast transactions to other nodes
broadcast = true

# Maximum number of transactions in the mempool
size = 5000

# Limit the total size of all txs in the mempool.
max-txs-bytes = 10737418240

# Size of the cache (used to filter duplicate transactions)
cache-size = 10000

# Do not remove invalid transactions from the cache
keep-invalid-txs-in-cache = true

# Maximum size of a single transaction
max-tx-bytes = 2048576

# Maximum length of time a transaction can remain in the mempool
ttl-duration = "3s"

# Maximum number of blocks a transaction can remain in the mempool
ttl-num-blocks = 5
3
Run Node

Setting Up a systemd Service

If you see an error such as panic: recovered: runtime error: integer divide by zero it means you can't start nodes straight from the genesis file. Instead, sync to the block tip via state sync or using a snapshot.

For production deployments, configure a systemd service:

# Create the systemd service file
sudo tee /etc/systemd/system/paxd.service > /dev/null << EOF
[Unit]
Description=Paxeer Node
After=network-online.target

[Service]
User=$USER
ExecStart=$(which paxd) start
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

# Reload systemd, enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable paxd
sudo systemctl start paxd

Monitoring & Troubleshooting

Check your node's status with these commands:

# Check sync status
paxd status

# Monitor logs in real-time
journalctl -u paxd -f -o cat

# Check validator status (if running a validator)
paxd query staking validator $(paxd keys show <your_key> --bech val -a)

Common Issues & Solutions

Sync Issues
  • Verify sufficient disk space
  • Ensure stable network connectivity
  • Confirm system time is synchronized
  • Consider using state sync for initial setup
Performance Problems
  • Monitor system resources (CPU, RAM, I/O)
  • Evaluate disk performance and network bandwidth
  • Adjust mempool and peer settings if needed

View Complete Node Setup Guide

Node Resources

Node Setup

Node Operations Guide

Complete guide to setting up and running a Paxeer node with hardware requirements and configuration steps.

Validator Operations Guide

Specialized instructions for validators, including staking, commission settings, and security best practices.

Default Configurations

Full reference for app.toml, config.toml, and client.toml shipped by the latest paxd release.

Advanced Operations

Configuration & Monitoring

Optimize your node's performance with advanced settings and monitoring tools.

RocksDB Backend

Run with RocksDB instead of the default backend.

Technical Reference

Detailed technical specifications, API endpoints, and commands for node operators.