February 28, 2022

Anone-testnet-1 validator setup

# Update system packages
$ sudo apt update && sudo apt upgrade -y

# Install go 1.17.2
$ version="1.17.2"
$ cd $HOME
$ wget "https://golang.org/dl/go$version.linux-amd64.tar.gz"
$ sudo rm -rf /usr/local/go 
$ sudo tar -C /usr/local -xzf "go$version.linux-amd64.tar.gz" 
$ rm "go$version.linux-amd64.tar.gz" 
$ echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
$ source $HOME/.bash_profile
$ go version
go version go1.17.2 linux/amd64

# Install make/gcc/jq
$ sudo apt install -y make gcc jq

# Install binaries
$ git clone https://github.com/notional-labs/anone
$ cd ~/anone
$ git checkout testnet-1.0.3
$ make install
$ anoned version
testnet-1.0.3

# Initialize the node, !!! replace <YOUR_MONIKER> with your own moniker name
$ anoned init <YOUR_MONIKER> --chain-id anone-testnet-1

# Download genesis 
$ wget -O ~/.anone/config/genesis.json https://raw.githubusercontent.com/notional-labs/anone/master/networks/testnet-1/genesis.json

# Update configs
$ sed -E -i 's/minimum-gas-prices = \".*\"/minimum-gas-prices = \"0.0001uan1\"/' $HOME/.anone/config/app.toml
$ sed -E -i 's/pruning = \".*\"/pruning = \"custom\"/' $HOME/.anone/config/app.toml
$ sed -E -i 's/pruning-keep-recent = \".*\"/pruning-keep-recent = \"100\"/' $HOME/.anone/config/app.toml
$ sed -E -i 's/pruning-interval = \".*\"/pruning-interval = \"10\"/' $HOME/.anone/config/app.toml
$ sed -E -i 's/seeds = \".*\"/seeds = \"49a49db05e945fc38b7a1bc00352cafdaef2176c@95.217.121.243:2280,80f0ef5d7c432d2bae99dc8437a9c3db464890cd@65.108.128.139:2280,3afac655e3be5c5fc4a64ec5197346ffb5a855c1@49.12.213.105:2280\"/' $HOME/.anone/config/config.toml

# Create new service file
$ sudo tee <<EOF >/dev/null /etc/systemd/system/anoned.service
[Unit]
Description=Anone Node
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/go/bin/anoned start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl enable anoned
$ sudo systemctl restart anoned
$ sudo journalctl -u anoned -f

# Create a key
$ anoned keys add wallet

Enter keyring passphrase:
Re-enter keyring passphrase:

- name: wallet
  type: local
  address: one1re9l42z9aph2rzvxwlvf68a073w3yh9w37y56r

!!! SAVE MNEMONIK from output

# Request tokens in #faucet-testnet-1, !!! replace <YOUR_KEY_ADDRESS> with your own address from the above
$request <YOUR_KEY_ADDRESS>

# Wait until you fully synced i.e. below command returns 'false'
$ anoned status 2>&1 | jq .SyncInfo.catching_up

# Make sure that your balance is not empty
$ anoned q bank balances <YOUR_KEY_ADDRESS>

# Create validator, !!! replace <YOUR_MONIKER> with your own moniker 
$ anoned tx staking create-validator \
  --amount=1990000000uan1 \
  --pubkey=$(anoned tendermint show-validator) \
  --moniker=<YOUR_MONIKER> \
  --chain-id=anone-testnet-1 \
  --commission-rate="0.1" \
  --commission-max-rate="0.2" \
  --commission-max-change-rate="0.01" \
  --min-self-delegation=1 \
  --gas 200000 \
  --fees 250000uan1 \
  --from=wallet \
  -y