Mainnet

Neutaro

Installation Guide
Validator CLI
Public Endpoint
State Sync
Snapshot
Explorers
Node Maps
Installation Guide
Installation Guide
Validator CLI
Public Endpoint
State Sync
Snapshot
Explorers
Node Maps

How To Install Full Node Neutaro 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 NEUTARO_CHAIN_ID=Neutaro-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.20.4"
  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/Neutaro/Neutaro
cd Neutaro/cmd/Neutaro/
go build
mv Neutaro /root/go/bin/

Config app

Neutaro config chain-id $NEUTARO_CHAIN_ID

Init app

Neutaro init $NODENAME --chain-id $NEUTARO_CHAIN_ID
Neutaro config chain-id $NEUTARO_CHAIN_ID

Download configuration

cd $HOME
curl -s https://snap1.konsortech.xyz/neutaro/genesis.json > $HOME/.Neutaro/config/genesis.json
curl -s https://snap1.konsortech.xyz/neutaro/addrbook.json > $HOME/.Neutaro/config/addrbook.json

Set seeds and peers

seeds="0e24a596dc34e7063ec2938baf05d09b374709e6@109.199.106.233:26656,f0184957ed192e1cdbdaaa69126ea85e4f851d28@mainnet-seed.konsortech.xyz:14165"
peers="ca241438087e75bffcf5bd6739da0c5fc6cdaf60@mainnet-neutaro.konsortech.xyz:14656"
sed -i -e 's|^seeds *=.*|seeds = "'$seeds'"|; s|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.Neutaro/config/config.toml

Disable indexing

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

Set minimum gas price

sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0uneutaro\"|" $HOME/.Neutaro/config/app.toml

Create service

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

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

[Install]
WantedBy=multi-user.target
EOF

Register and start service

sudo systemctl daemon-reload
sudo systemctl enable Neutaro
sudo systemctl restart Neutaro && sudo journalctl -u Neutaro -f -o cat

Guidance for Validator

Create wallet

To create new wallet you can use command below. Don’t forget to save the mnemonic

Neutaro keys add $WALLET

To recover your wallet using seed phrase

Neutaro keys add $WALLET --recover

Show your wallet list

Neutaro keys list

Save wallet info

Add wallet and validator address into variables

NEUTARO_WALLET_ADDRESS=$(Neutaro keys show $WALLET -a)
NEUTARO_VALOPER_ADDRESS=$(Neutaro keys show $WALLET --bech val -a)
echo 'export NEUTARO_WALLET_ADDRESS='${NEUTARO_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export NEUTARO_VALOPER_ADDRESS='${NEUTARO_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

Create validator

check your wallet balance:

Neutaro query bank balances $NEUTARO_WALLET_ADDRESS

To create your validator run command below

Neutaro tx staking create-validator \
  --amount 1000000uneutaro \
  --from $WALLET \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.07" \
  --min-self-delegation "1000000" \
  --pubkey  $(Neutaro tendermint show-validator) \
  --moniker $NODENAME \
  --chain-id $NEUTARO_CHAIN_ID \
  --gas=”auto” \
  --gas-prices=”0.0025uneutaro” \
  --gas-adjustment=”1.5″

Check your validator key

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

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

Start service

sudo systemctl start Neutaro

Stop service

sudo systemctl stop Neutaro

Restart service

sudo systemctl restart Neutaro

Node info

Synchronization info

Neutaro status 2>&1 | jq .SyncInfo

Validator info

Neutaro status 2>&1 | jq .ValidatorInfo

Node info

Neutaro status 2>&1 | jq .NodeInfo

Show node id

Neutaro tendermint show-node-id

Wallet operations

List of wallets

Neutaro keys list

Recover wallet

Neutaro keys add $WALLET --recover

Delete wallet

Neutaro keys delete $WALLET

Get wallet balance

Neutaro query bank balances $NEUTARO_WALLET_ADDRESS

Transfer funds

Neutaro tx bank send $NEUTARO_WALLET_ADDRESS <TO_NEUTARO_WALLET_ADDRESS> 1000000uneutaro

Voting

Neutaro tx gov vote 1 yes --from $WALLET --chain-id=$NEUTARO_CHAIN_ID

Staking, Delegation and Rewards

Delegate stake

Neutaro tx staking delegate $NEUTARO_VALOPER_ADDRESS 1000000uneutaro --from=$WALLET --chain-id=$NEUTARO_CHAIN_ID --gas=”auto" --gas-prices=”0.0025uneutaro” --gas-adjustment=”1.5″

Redelegate stake from validator to another validator

Neutaro tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000uneutaro --from=$WALLET --chain-id=$NEUTARO_CHAIN_ID --gas=”auto" --gas-prices=”0.0025uneutaro” --gas-adjustment=”1.5″

Withdraw all rewards

Neutaro tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$NEUTARO_CHAIN_ID --gas=”auto" --gas-prices=”0.0025uneutaro” --gas-adjustment=”1.5″

Withdraw rewards with commision

Neutaro tx distribution withdraw-rewards $NEUTARO_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$NEUTARO_CHAIN_ID --gas=”auto" --gas-prices=”0.0025uneutaro” --gas-adjustment=”1.5″

Validator management

Edit validator

Neutaro tx staking edit-validator \
  --moniker=$NODENAME \
  --identity=<your_keybase_id> \
  --website="<your_website>" \
  --details="<your_validator_description>" \
  --chain-id=$NEUTARO_CHAIN_ID \
  --from=$WALLET \
  --gas=”auto" \
  --gas-prices=”0.0025uneutaro” \
  --gas-adjustment=”1.5″

Unjail validator

Neutaro tx slashing unjail \
  --broadcast-mode=block \
  --from=$WALLET \
  --chain-id=$NEUTARO_CHAIN_ID \
  --gas=”auto" \
  --gas-prices=”0.0025uneutaro” \
  --gas-adjustment=”1.5″

Public Endpoint

RPC

https://mainnet-neutaro-rpc.konsortech.xyz

API

https://mainnet-neutaro-api.konsortech.xyz

gRPC

mainnet-neutaro.konsortech.xyz:14090

Peers and Seeds

Peers

ca241438087e75bffcf5bd6739da0c5fc6cdaf60@mainnet-neutaro.konsortech.xyz:14656

Seeds

f0184957ed192e1cdbdaaa69126ea85e4f851d28@mainnet-seed.konsortech.xyz:14165

Genesis & Address Book

Address Book

https://snap1.konsortech.xyz/neutaro/addrbook.json

Genesis

https://snap1.konsortech.xyz/neutaro/genesis.json

State Sync

sudo systemctl stop Neutaro

cp $HOME/.Neutaro/data/priv_validator_state.json $HOME/.Neutaro/priv_validator_state.json.backup
Neutaro tendermint unsafe-reset-all --home $HOME/.Neutaro --keep-addr-book

SNAP_RPC="https://mainnet-neutaro-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="ca241438087e75bffcf5bd6739da0c5fc6cdaf60@mainnet-neutaro.konsortech.xyz:14656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.Neutaro/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\"|" $HOME/.Neutaro/config/config.toml

mv $HOME/.Neutaro/priv_validator_state.json.backup $HOME/.Neutaro/data/priv_validator_state.json

sudo systemctl restart Neutaro
sudo journalctl -u Neutaro -f --no-hostname -o cat

Snapshot

sudo systemctl stop Neutaro
cp $HOME/.Neutaro/data/priv_validator_state.json $HOME/.Neutaro/priv_validator_state.json.backup
rm -rf $HOME/.Neutaro/data

SNAP_NAME=$(curl -s https://snap1.konsortech.xyz/neutaro/ | egrep -o ">neutaro-snapshot.*\.tar.lz4" | tr -d ">")
curl https://snap1.konsortech.xyz/neutaro/${SNAP_NAME} | lz4 -dc - | tar -xf - -C $HOME/.Neutaro
mv $HOME/.Neutaro/priv_validator_state.json.backup $HOME/.Neutaro/data/priv_validator_state.json

sudo systemctl restart Neutaro && journalctl -u neutarod -f --no-hostname -o cat

Embed Iframe

Neutaro Mainnet Decentralization Maps