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