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.
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
| Component | Required |
|---|---|
| CPU | 16 cores (Intel Xeon/Core i7/i9 or AMD Epyc/Ryzen) |
| RAM | 256 GB DDR5 or better |
| Storage | 2 TB NVMe SSD (high IOPS required) |
| Network | 2 Gbps with low latency |
Installation & Setup Steps
System Preparation
1. Update and Upgrade System
sudo apt update && sudo apt upgrade -y2. Install Essential Packages
sudo apt install make gcc git jq chrony curl lz4 wget tar build-essential -y3. Synchronize System Time
sudo timedatectl set-timezone UTC
sudo systemctl enable --now chronyd
timedatectlInstall 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 versionInstall 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 versionIf 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/binThen reload your shell with source ~/.bashrc or source ~/.zshrc.
Initialize Chain Files
--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.tomlConfigure 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.tomlIn 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.tomlArchive 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 = false2. 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 = 5Setting Up a systemd Service
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 paxdMonitoring & 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
View Complete Node Setup Guide