Paxi Logo

Paxi

Archived

A fast, simple, and truly decentralized blockchain network built with Cosmos SDK and CosmWasm.

Validator Service Sunset

This validator has ceased operations on January 16, 2026. The data shown below is an archived snapshot of the final state.

Paxi Mainnet Validator

A fast, simple, and truly decentralized blockchain network built with Cosmos SDK and CosmWasm.

Chaind IDLast Version Tag
paxi-mainnetv1.0.6

Binary Upgrade

Fetching network status...
Upgrade to v1.0.6

Target block: 816000

Download & Extract Binary

cd $HOME
mkdir -p paxi
cd paxi
wget https://github.com/paxi-web3/paxi/archive/refs/tags/v1.0.6.tar.gz
tar -xzvf v1.0.6.tar.gz
cd paxi-1.0.6
make install

Check new binary version

$HOME/paxid/paxid version

Start a new tmux session

tmux new -s paxi-upgrade

Run the auto-upgrade script.

⚠️ NOTE: Make sure you adjust the following according to your setup:
UPGRADE_SCRIPT="https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/upgrade_binary.sh"
 
curl -sL $UPGRADE_SCRIPT | bash -s -- \
-b "paxid" \
-t "816000" \
-n "$HOME/paxid/paxid" \
-p "$HOME/.paxi" \
-r "http://localhost:11657" \
-i "1" \
-a "http://localhost:11317" \
-d "https://discord.com/api/webhooks/xxx/yyy" \ # optional
--progress-interval 0

:::details Flag explanation:

FlagNameDescription
-bbinary-nameName of the running daemon (e.g. paxid)
-ttarget-blockBlock height at which the upgrade should happen
-nnew-binary-pathFull path to the new binary
-pinstall-pathPath where the current binary is installed (default: $HOME/go/bin)
-rrpc-urlRPC endpoint used to monitor current block height
-iproposal-id(Optional) Proposal ID to validate governance status
-aapi-url(Optional) API endpoint used to fetch proposal status

:::

Installation

  1. Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
  1. Install Go
cd $HOME
VER="1.22.3"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm "go$VER.linux-amd64.tar.gz"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
  1. Set Vars

Configuration

Generated Command

echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER=""" >> $HOME/.bash_profile
echo "export PAXI_CHAIN_ID="paxi-mainnet"" >> $HOME/.bash_profile
echo "export PAXI_PORT="11"" >> $HOME/.bash_profile
source $HOME/.bash_profile
  1. Download Binary
cd $HOME
mkdir $HOME/.paxi
rm -rf paxi
git clone https://github.com/paxi-web3/paxi.git
cd paxi
git checkout v1.0.6
make install
cp $HOME/paxid/paxid $HOME/.paxi
rm -rf $HOME/paxi && cd
echo 'export PATH="$HOME/.paxi:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
paxid version
  1. Initialized
paxid init $MONIKER --chain-id $PAXI_CHAIN_ID
sed -i \
  -e 's|^chain-id *=.*|chain-id = "paxi-mainnet"|' \
  -e 's|^keyring-backend *=.*|keyring-backend = "os"|' \
  -e "s|^node *=.*|node = \"tcp://localhost:${PAXI_PORT}657\"|" \
  $HOME/.paxi/paxi/config/client.toml
  1. Download addrbook & genesis
wget -O $HOME/.paxi/paxi/config/genesis.json https://snapshots.linknode.org/paxi/genesis
wget -O $HOME/.paxi/paxi/config/addrbook.json https://snapshots.linknode.org/paxi/addrbook
  1. Configure Node

Configure peers

PEERS="$(curl -sS https://paxi-rpc.linknode.org/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|.$||')"
sed -i -e 's|^persistent_peers *=.*|persistent_peers = "'"$PEERS"'"|' "$HOME/.paxi/paxi/config/config.toml"

Update app.toml ports

sed -i.bak -e "s%:1317%:${paxi_PORT}317%g;
s%:8080%:${PAXI_PORT}080%g;
s%:9090%:${PAXI_PORT}090%g;
s%:9091%:${PAXI_PORT}091%g;
s%:8545%:${PAXI_PORT}545%g;
s%:8546%:${PAXI_PORT}546%g;
s%:6065%:${PAXI_PORT}065%g" $HOME/.paxi/paxi/config/app.toml

Update config.toml ports

sed -i.bak -e "s%:26658%:${PAXI_PORT}658%g;
s%:26657%:${PAXI_PORT}657%g;
s%:6060%:${PAXI_PORT}060%g;
s%:26656%:${PAXI_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${PAXI_PORT}656\"%;
s%:26660%:${PAXI_PORT}660%g" $HOME/.paxi/paxi/config/config.toml

Configure Pruning

Pruning Strategy

💡 Recommended for Validators to fine-tune storage.

blocks
blocks

Generated Command

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.paxi/paxi/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.paxi/paxi/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.paxi/paxi/config/app.toml

Set Minimum Gas Fee & Other Parameters

sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.001upaxi"|g' $HOME/.paxi/paxi/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.paxi/paxi/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.paxi/paxi/config/config.toml
  1. Create Services
sudo tee /etc/systemd/system/paxid.service > /dev/null <<EOF
[Unit]
Description=paxi-mainnet
After=network-online.target
 
[Service]
User=$USER
ExecStart=$(which paxid) start --home $HOME/.paxi/paxi
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
 
[Install]
WantedBy=multi-user.target
EOF
  1. Start Services
sudo systemctl daemon-reload
sudo systemctl enable paxid
sudo systemctl restart paxid && sudo journalctl -u paxid -fo cat
  1. Sync Wasm
curl -sL https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/paxi/sync_wasm.sh |bash
sudo systemctl restart paxid

Useful Commands

Note

For a complete guide to creating a validator, visit our Cheat Sheet & Key Management page. It covers all the necessary commands and crucial steps for securing your keys.

Check logs

sudo journalctl -u paxid -fo cat

Check Sync

curl -sL https://raw.githubusercontent.com/astrostake/scripts/refs/heads/main/cosmos_sync_monitor.sh | bash -s -- --directory $HOME/.paxi/paxi --public-rpc https://paxi-rpc.linknode.org --interval 5

🛡️ Security

To apply a quick security baseline, you can configure your firewall like this:

sudo ufw allow ${PAXI_PORT}656/tcp comment 'PAXI Node p2p Port'

🔐 For a more secure and maintainable setup, check out our Essentials Guide, including SSH key setup, Fail2Ban protection, and a full VPS hardening checklist.