Installation (PebbleDB)

Minimum Hardware Requirements 4x CPUs; the faster clock speed the better 8GB RAM 100GB of storage (SSD or NVME)

Setup validator name

MONIKER="YOUR_MONIKER_GOES_HERE"

Install dependencies

sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y

INSTALL GO

rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.23.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version

Install Node

cd $HOME
rm -rf axelar-core
git clone https://github.com/axelarnetwork/axelar-core.git
cd axelar-core
git checkout v0.34.1

go mod edit -replace github.com/tendermint/tm-db=github.com/notional-labs/[email protected]
go mod tidy
go mod edit -replace github.com/cometbft/cometbft-db=github.com/notional-labs/cometbft-db@pebble
go mod tidy

go install -ldflags "-w -s -X github.com/cosmos/cosmos-sdk/types.DBBackend=pebbledb \
 -X github.com/cosmos/cosmos-sdk/version.Version=$(git describe --tags)-pebbledb \
 -X github.com/cosmos/cosmos-sdk/version.Commit=$(git log -1 --format='%H')" -tags pebbledb ./...

Initialize Node

axelard init "$MONIKER" --chain-id=axelar-dojo-1

Node Config

# Download genesis and addrbook
curl -Ls https://snapshots.aknodes.net/snapshots/axelar/genesis.json > $HOME/.axelar/config/genesis.json
curl -Ls https://snapshots.aknodes.net/snapshots/axelar/addrbook.json > $HOME/.axelar/config/addrbook.json

# Add seeds
PEERS="[email protected]:26676,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:27856,[email protected]:26656,[email protected]:26656,[email protected]:13656,[email protected]:26656,[email protected]:26656,[email protected]:36656,[email protected]:26656,[email protected]:26656,[email protected]:15656,[email protected]:53656,[email protected]:26656,[email protected]:56656,[email protected]:15656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.axelar/config/config.toml


# Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.007uaxl\"|" $HOME/.axelar/config/app.toml

# prunning
pruning="custom"
pruning_keep_recent="50000"
pruning_keep_every="0"
pruning_interval="19"

sed -i "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.axelar/config/app.toml
sed -i "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.axelar/config/app.toml
sed -i "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.axelar/config/app.toml
sed -i "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.axelar/config/app.toml

# set pebbledb
db_backend="pebbledb"
sed -i "s/^db_backend *=.*/db_backend = \"$db_backend\"/" $HOME/.axelar/config/config.toml
sed -i "s/^app-db-backend *=.*/app-db-backend = \"$db_backend\"/" $HOME/.axelar/config/app.toml

Create Service

tee /etc/systemd/system/axelard.service > /dev/null << EOF
[Unit]
Description=Axelar mainnet (PebbleDB) node service
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which axelard) start --home $HOME/.axelar
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable axelard

Download Snapshot

axelard tendermint unsafe-reset-all --home $HOME/.axelar --keep-addr-book 
curl https://snapshots.aknodes.net/snapshots/axelar/snapshot-axelar.AKNodes.lz4 | lz4 -dc - | tar -xf - -C $HOME/.axelar

Start the node

sudo systemctl restart axelard
journalctl -u axelard -f

buy me a cup of coffe

Last updated