Doc – Paxi
Minimum Hardware
| NODE | CPU | RAM | SSD | OS |
|---|---|---|---|---|
| lumerad | 4 | 8 | 400 GB | Ubuntu 22.04 LTS |
Install Dependencies
sudo apt update && sudo apt upgrade -y && sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc jq chrony liblz4-tool -y
Install Go
rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.22.4.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source $HOME/.bash_profile
go version
Download Binary
cd $HOME
git clone https://github.com/paxi-web3/paxi
cd paxi
git checkout v1.0.5
make install
paxid version
Config and Init App
paxid init Test --chain-id paxi-mainnet
Download Genesis and Addrbook
curl -s https://mainnet-rpc.paxinet.io/genesis | jq -r .result.genesis > ~/.paxi/config/genesis.json
Custom Ports
sed -i 's|db_backend = "pebbledb"|db_backend = "goleveldb"|' ~/.paxi/config/config.toml
Pruning, Gas and Prometheus
sed -i "s/minimum-gas-prices = .*/minimum-gas-prices = \"0.05upaxi\"/" ~/.paxi/config/app.toml
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
~/.paxi/config/app.toml
sed -i 's|^indexer *=.*|indexer = "null"|' ~/.paxi/config/config.toml
Create Service File
sudo tee /etc/systemd/system/paxid.service > /dev/null << EOF
[Unit]
Description=Paxi Node
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/paxid start --log_level info --minimum-gas-prices 0upaxi
Restart=always
RestartSec=10
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
Start
sudo systemctl daemon-reload
sudo systemctl enable paxid
sudo systemctl restart paxid
Snapshot
-
State Sync
-
Create and Restore Address
# create wallet
paxid keys add wallet
# Restore wallet
paxid keys add wallet --recover
# List
paxid keys list
Check Balance
paxid q bank balances $(paxid keys show wallet -a)
Create Validator
paxid tendermint show-validator
cat > $HOME/.paxi/validator.json << EOF
{
"pubkey": {
"type": "tendermint/PubKeyEd25519",
"value": "$(paxid comet show-validator | jq -r .key)"
},
"amount": "1000000000upaxi",
"moniker": "",
"identity": "",
"website": "",
"security": "",
"details": "",
"commission-rate": "0.05",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOL
paxid tx staking create-validator $HOME/.paxi/validator.json \
--from wallet \
--chain-id paxi-mainnet \
--gas-prices=0.05upaxi \
--gas-adjustment=1.2 \
--gas=auto
Delegate to own
paxid tx staking delegate $(paxid keys show wallet --bech val -a) 1000000000upaxi --from wallet --chain-id paxi-mainnet --gas-adjustment=1.2 --gas=auto --gas-prices="0.05upaxi"
Unjail Validator
paxid tx slashing unjail --from wallet --chain-id paxi-mainnet --gas-adjustment=1.2 --gas=auto --gas-prices="0.05upaxi"
Vote
paxid tx gov vote 1 yes --from wallet --chain-id paxi-mainnet --gas-adjustment=1.2 --gas=auto --gas-prices="0.05upaxi"
Upgrade
-
Delete node
sudo systemctl stop paxid
sudo systemctl disable paxid
sudo rm /etc/systemd/system/paxid.service
sudo systemctl daemon-reload
rm -rf $(which paxid)
rm -rf .paxi