Axone logo

Axone

mainnet
Chain ID
axone-1
Node
unknown

πŸ“š Node installation

Update packages

sudo apt update && sudo apt upgrade -y

Install dependencies

sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc lz4 gcc -y

Install Go

cd $HOME && \
ver="1.21.13" && \
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" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

The output should be: go version go1.21.13 linux/amd64

Download binary for work

git clone https://github.com/axone-protocol/axoned
cd axoned
git checkout unknown
make install

Specify variables, for ease of work

echo 'export axone_moniker="Validator_name"' >> $HOME/.profile
echo 'export axone_wallet="Wallet_name"' >> $HOME/.profile
echo 'export axone_port="111"' >> $HOME/.profile
source $HOME/.profile

Initialize the node

axoned init $axone_moniker --chain-id axone-1

Set the settings

axoned config chain-id axone-1 && \
peers=b356ae3dbfc97a21a89db0d58fdf00c7158d4d85@142.132.131.184:26656,b3951a48d92024e1dcc5db1ec5b5452ea8cea7af@144.76.74.73:20056,170735d649528ac9b86ccddae1aa861712c73b6d@2.58.66.195:26656,a3fa14196d8cd05e16eb58e825f2b136a029e28b@65.108.45.119:38656,17cadb3115c706bd0338a081121c6c7252b7a5f2@65.21.237.228:26112,a66723055f8ff0ea060094f6ddfb655e39d1d545@65.21.132.31:18656,3331cda07af7ecdee5594b1ab56075a2081ae6d3@93.125.49.130:26659,36e303f2c63c51ed15b662b50c651f19505a689a@135.181.5.232:17656,1849d58c77c446feae4bf8ad109f494dfc69a268@113.161.132.233:18656,36ca111ee33a1fc67637b57ad2f89a3894ff0bc2@144.76.114.34:31156 && \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.axoned/config/config.toml && \
seeds="6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10228" && \
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.axoned/config/config.toml
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.001uaxone"|g' $HOME/.axoned/config/app.toml

Create wallet

axoned keys add $axone_wallet

Save the wallet. Or restore if there is a mnemonic:

axoned keys add $axone_wallet --recover

Download Genesis

wget -O genesis.json "https://snapshots.stakeup.tech/axone/genesis.json" --inet4-only
mv genesis.json ~/.axoned/config

Optional Settings

Memory optimization
cd $HOME/.axoned/config && \
indexer="null" && \
snapshot_interval="0" && \
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_interval="50" && \
sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" config.toml && \
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" app.toml && \
sed -i.bak -e "s/^pruning *=.*/pruning = \"$pruning\"/" app.toml && \
sed -i.bak -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" app.toml && \
sed -i.bak -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" app.toml
Change port
cd $HOME/.axoned/config && \
sed -i.bak \
    -e "s/:\s*26656/:${axone_port}56/g" \
    -e "s/:\s*26657/:${axone_port}57/g" \
    -e "s/:\s*26658/:${axone_port}58/g" \
    -e "s/:\s*26660/:${axone_port}59/g" \
    -e "s/:\s*6060/:${axone_port}61/g" \
    config.toml

sed -i.bak \
    -e "s/:\s*1317/:${axone_port}17/g" \
    -e "s/:\s*8080/:${axone_port}80/g" \
    -e "s/:\s*9090/:${axone_port}90/g" \
    -e "s/:\s*9091/:${axone_port}91/g" \
    app.toml && \
echo 'export axone_node=http://localhost:${axone_port}57' >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
axoned config node $axone_node

Create a service file

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

[Service]
User=$USER
ExecStart=$(which axoned) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload &&
sudo systemctl enable axoned &&
sudo systemctl restart axoned && sudo journalctl -u axoned -f -o cat