Mainnet
Paxi

Installation Guide
Node CLI
Public Endpoint
State Sync
Snapshot
Custom Explorers
Decentralization Maps
Installation Guide
Installation Guide
Node CLI
Public Endpoint
State Sync
Snapshot
Custom Explorers
Decentralization Maps
How To Install Full Node Paxi Mainnet
Setting up vars
Your Nodename (validator) that will shows in explorer
NODENAME=<Your_Nodename_Moniker>
Save variables to system
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export PAXI_CHAIN_ID=paxi-mainnet" >> $HOME/.bash_profile
source $HOME/.bash_profile
Update packages
sudo apt update && sudo apt upgrade -y
Install dependencies
sudo apt install curl build-essential git wget jq make gcc tmux net-tools ccze -y
Install go
if ! [ -x "$(command -v go)" ]; then
ver="1.24.5"
cd $HOME
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"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
fi
Download and build binaries
cd $HOME
git clone https://github.com/paxi-web3/paxi.git
cd paxi
git checkout v1.0.5
make install
cp ~/paxid/paxid ~/go/bin
Init app
paxid init $NODENAME --chain-id $PAXI_CHAIN_ID
Download configuration
wget https://snap1.konsortech.xyz/paxi/genesis.json -O ~/go/bin/paxi/config/genesis.json
wget https://snap1.konsortech.xyz/paxi/addrbook.json -O ~/go/bin/paxi/config/addrbook.json
Set the minimum gas price and Peers, Filter peers/ MaxPeers
SEEDS="fca53a78339ce55929510d9f63571b88f1d661e9@mainnet-seed.konsortech.xyz:29265"
PEERS="fcf82e0a484c14d0094b7ed6cb8b23fec2bbc3d4@mainnet-paxi.konsortech.xyz:29656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/go/bin/paxi/config/config.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.01upaxi\"/" ~/go/bin/paxi/config/app.toml
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" ~/go/bin/paxi/config/config.toml
Disable indexing
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" ~/go/bin/paxi/config/config.toml
Config pruning
pruning="custom" && \
pruning_keep_recent="100" && \
pruning_keep_every="0" && \
pruning_interval="10" && \
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" ~/go/bin/paxi/config/app.toml && \
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" ~/go/bin/paxi/config/app.toml && \
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" ~/go/bin/paxi/config/app.toml && \
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" ~/go/bin/paxi/config/app.toml
Create service
sudo tee /etc/systemd/system/paxid.service > /dev/null <<EOF
[Unit]
Description=Paxi Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which paxid) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Register and start service
sudo systemctl daemon-reload
sudo systemctl enable paxid
sudo systemctl restart paxid && sudo journalctl -u paxid -f -o cat
Guidence for create validator
Create wallet
To create new wallet you can use command below. Don’t forget to save the mnemonic
paxid keys add $WALLET
To recover your wallet using seed phrase
paxid keys add $WALLET --recover
Show your wallet list
paxid keys list
Save wallet info
Add wallet and validator address into variables
PAXI_WALLET_ADDRESS=$(paxid keys show $WALLET -a)
PAXI_VALOPER_ADDRESS=$(paxid keys show $WALLET --bech val -a)
echo 'export PAXI_WALLET_ADDRESS='${PAXI_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export PAXI_VALOPER_ADDRESS='${PAXI_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
Fund your wallet
N/A
Create validator
check your wallet balance:
paxid query bank balances $PAXI_WALLET_ADDRESS
To create your validator run command below
paxid tendermint show-validator
nano ~/go/bin/paxi/validator.json
filled your validator info
{
"pubkey": result_from_above,
"amount": "1000000upaxi",
"moniker": "your-moniker",
"identity": "your-identity",
"website": "your-website",
"security": "your-mail",
"details": "your-detail",
"commission-rate": "0.05",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.05",
"min-self-delegation": "1"
}
paxid tx staking create-validator ~/go/bin/paxi/validator.json \
--from wallet \
--chain-id paxi-mainnet \
--fees 10000upaxi
Check your validator key
[[ $(paxid q staking validator $PAXI_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(paxid status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
Get list of validators
paxid q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
Usefull commands
Service management
Check logs
journalctl -fu paxid -o cat
Start service
sudo systemctl start paxid
Stop service
sudo systemctl stop paxid
Restart service
sudo systemctl restart paxid
Node info
Synchronization info
paxid status 2>&1 | jq .SyncInfo
Validator info
paxid status 2>&1 | jq .ValidatorInfo
Node info
paxid status 2>&1 | jq .NodeInfo
Show node id
paxid tendermint show-node-id
Wallet operations
List of wallets
paxid keys list
Recover wallet
paxid keys add $WALLET --recover
Delete wallet
paxid keys delete $WALLET
Get wallet balance
paxid query bank balances $PAXI_WALLET_ADDRESS
Transfer funds
paxid tx bank send $PAXI_WALLET_ADDRESS <TO_PAXI_WALLET_ADDRESS> 1000000upaxi
Voting
paxid tx gov vote 1 yes --from $WALLET --chain-id=$PAXI_CHAIN_ID
Staking, Delegation and Rewards
Delegate stake
paxid tx staking delegate $PAXI_VALOPER_ADDRESS 1000000upaxi --from=$WALLET --chain-id=$PAXI_CHAIN_ID --gas=auto
Redelegate stake from validator to another validator
paxid tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000upaxi --from=$WALLET --chain-id=$PAXI_CHAIN_ID --gas=auto
Withdraw all rewards
paxid tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$PAXI_CHAIN_ID --gas=auto
Withdraw rewards with commision
paxid tx distribution withdraw-rewards $PAXI_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$PAXI_CHAIN_ID
Validator management
Edit validator
paxid tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$PAXI_CHAIN_ID \
--from=$WALLET
Unjail validator
paxid tx slashing unjail \
--broadcast-mode=block \
--from=$WALLET \
--chain-id=$PAXI_CHAIN_ID \
--gas=auto
Public Endpoint
RPC
https://mainnet-paxi-rpc.konsortech.xyz
API
https://mainnet-paxi-api.konsortech.xyz
gRPC
mainnet-paxi.konsortech.xyz:29690
Peers and Seeds
Peers
fcf82e0a484c14d0094b7ed6cb8b23fec2bbc3d4@mainnet-paxi.konsortech.xyz:29656
Seeds
fca53a78339ce55929510d9f63571b88f1d661e9@mainnet-seed.konsortech.xyz:29265
Genesis & Address Book
Address Book
https://snap1.konsortech.xyz/paxi/addrbook.json
Genesis
https://snap1.konsortech.xyz/paxi/genesis.json
State Sync
sudo systemctl stop paxid
cp ~/go/bin/paxi/data/priv_validator_state.json ~/go/bin/paxi/priv_validator_state.json.backup
paxid tendermint unsafe-reset-all --home ~/go/bin/paxi --keep-addr-book
SNAP_RPC="https://mainnet-paxi-rpc.konsortech.xyz:443"
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \
BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000)); \
TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
peers="fcf82e0a484c14d0094b7ed6cb8b23fec2bbc3d4@mainnet-paxi.konsortech.xyz:29656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' ~/go/bin/paxi/config/config.toml
sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" ~/go/bin/paxi/config/config.toml
mv ~/go/bin/paxi/priv_validator_state.json.backup ~/go/bin/paxi/data/priv_validator_state.json
sudo systemctl restart paxid
sudo journalctl -u paxid -f --no-hostname -o cat
Snapshot
sudo systemctl stop paxid
cp ~/go/bin/paxi/data/priv_validator_state.json ~/go/bin/paxi/priv_validator_state.json.backup
rm -rf ~/go/bin/paxi/data
SNAP_NAME=$(curl -s https://snap1.konsortech.xyz/paxi/ | egrep -o ">paxi-snapshot.*\.tar.lz4" | tr -d ">")
curl https://snap1.konsortech.xyz/paxi/${SNAP_NAME} | lz4 -dc - | tar -xf - -C ~/go/bin/paxi
mv ~/go/bin/paxi/priv_validator_state.json.backup ~/go/bin/paxi/data/priv_validator_state.json
sudo systemctl restart paxid && journalctl -u paxid -f --no-hostname -o cat