Mainnet

Point Network

Insatalltion Guide
Tendermint CLI
More
Insatalltion Guide
Insatalltion Guide
Tendermint CLI
More

How To Install Full Node Pointnetwork 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 POINT_CHAIN_ID=point_10687-1" >> $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.18.2"
  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/pointnetwork/point-chain
cd point-chain
git checkout mainnet
make install

Config app

pointd config chain-id $POINT_CHAIN_ID

Init app

pointd init $NODENAME --chain-id $POINT_CHAIN_ID

Download configuration

wget -O $HOME/.pointd/config/genesis.json "https://raw.githubusercontent.com/pointnetwork/point-chain-config/main/mainnet-1/genesis.json"
wget -O $HOME/.pointd/config/config.toml https://raw.githubusercontent.com/pointnetwork/point-chain-config/main/mainnet-1/config.toml

Set seeds and peers

PEERS='curl -s https://raw.githubusercontent.com/pointnetwork/point-chain-config/main/mainnet-1/peers.txt'
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.pointd/config/config.toml

Disable indexing

indexer="null" && \
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.pointd/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\"/" $HOME/.pointd/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.pointd/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.pointd/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.pointd/config/app.toml

Create service

sudo tee /etc/systemd/system/pointd.service > /dev/null <<EOF
[Unit]
Description=point
After=network-online.target

[Service]
User=$USER
ExecStart=$(which pointd) start --home $HOME/.pointd
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Register and start service

sudo systemctl daemon-reload
sudo systemctl enable pointd
sudo systemctl restart pointdd && sudo journalctl -u pointd -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

pointd keys add $WALLET

To recover your wallet using seed phrase

pointd keys add $WALLET --recover

Show your wallet list

pointd keys list

Save wallet info

Add wallet and validator address into variables

POINT_WALLET_ADDRESS=$(pointd keys show $WALLET -a)
POINT_VALOPER_ADDRESS=$(pointd keys show $WALLET --bech val -a)
echo 'export POINT_WALLET_ADDRESS='${POINT_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export POINT_VALOPER_ADDRESS='${POINT_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

Fund your wallet

In order to create validator first you need to fund your wallet with buy point token.

Buy point on MEXC

Create validator

check your wallet balance:

pointd query bank balances $POINT_WALLET_ADDRESS

To create your validator run command below

pointd tx staking create-validator \
  --amount 1000000000000000000000apoint \
  --from $WALLET \
  --commission-max-change-rate "0.1" \
  --commission-max-rate "0.2" \
  --commission-rate "0.1" \
  --min-self-delegation "1" \
  --pubkey  $(pointd tendermint show-validator) \
  --moniker $NODENAME \
  --chain-id $POINT_CHAIN_ID \
  --gas="400000" \
  --gas-prices="0.025apoint" \

Check your validator key

[[ $(pointd q staking validator $POINT_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(pointd 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

pointd 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 pointd -o cat

Start service

sudo systemctl start pointd

Stop service

sudo systemctl stop pointd

Restart service

sudo systemctl restart pointd

Node info

Synchronization info

pointd status 2>&1 | jq .SyncInfo

Validator info

pointd status 2>&1 | jq .ValidatorInfo

Node info

pointd status 2>&1 | jq .NodeInfo

Show node id

pointd tendermint show-node-id

Wallet operations

List of wallets

pointd keys list

Recover wallet

pointd keys add $WALLET --recover

Delete wallet

pointd keys delete $WALLET

Get wallet balance

pointd query bank balances $POINT_WALLET_ADDRESS

Transfer funds

pointd tx bank send $POINT_WALLET_ADDRESS <TO_POINT_WALLET_ADDRESS> 100000000000000000000apoint

Voting

pointd tx gov vote 1 yes --from $WALLET --chain-id=$POINT_CHAIN_ID

Staking, Delegation and Rewards

Delegate stake

pointd tx staking delegate $POINT_VALOPER_ADDRESS 100000000000000000000apoint --from=$WALLET --chain-id=$POINT_CHAIN_ID --gas=auto

Redelegate stake from validator to another validator

pointd tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 100000000000000000000apoint --from=$WALLET --chain-id=$POINT_CHAIN_ID --gas=auto

Withdraw all rewards

pointd tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$POINT_CHAIN_ID --gas=auto

Withdraw rewards with commision

pointd tx distribution withdraw-rewards $POINT_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$POINT_CHAIN_ID

Validator management

Edit validator

pointd tx staking edit-validator \
  --moniker=$NODENAME \
  --identity=<your_keybase_id> \
  --website="<your_website>" \
  --details="<your_validator_description>" \
  --chain-id=$POINT_CHAIN_ID \
  --from=$WALLET

Unjail validator

bcnad tx slashing unjail \
  --broadcast-mode=block \
  --from=$WALLET \
  --chain-id=$POINT_CHAIN_ID \
  --gas=auto