Docs
Node Operators

Node setup

Install axelard, configure your node and set up the CLI.

Prerequisites

  • Operating system: MacOS(x86 intel chip) or Ubuntu (tested on 18.04).
  • Hardware: 4 cores, 8-16GB RAM, 512 GB drive, arm64 or amd64. Recommended 6-8 cores, 16-32 GB RAM, 1 TB+ drive.
  • Increase the maximum number of open files on your system. Example: ulimit -n 16384. You may wish to add this command to your shell profile so that you don't need to execute it next time you restart your machine.
💡

Tip: Planning to run your own validator? Validators have different hardware requirements. See Validator setup.

Download binaries and initialize configuration

Clone the axelerate-community repo:

git clone https://github.com/axelarnetwork/axelarate-community.git
cd axelarate-community

Run setup-node.sh to download the axelard binary and configure your node:

./scripts/setup-node.sh -n [mainnet|testnet]

Some additional flags:

  • -a : Version of axelard.
  • -d : Home directory path.
  • --help : Print a complete list of flags.

Verifying Binaries

By default, the binary signatures are downloaded and the binary is verified using the commonprefix PGP key. To verify the binary manually, you can download the PGP signature and verify using the following commands:

curl https://keybase.io/commonprefix/key.asc | gpg --import
gpg --verify [axelard_binary_signature_path] [axelard_binary_path]

On github the signatures are attached to the releases. To download the signatures from the axelar-releases AWS Bucket, you can add .asc to the end of the binary URL. For example, if the path of the binary is:

https://axelar-releases.s3.us-east-2.amazonaws.com/axelard/v0.26.0/axelard-darwin-arm64-v0.26.0

The path for the signature will be:

https://axelar-releases.s3.us-east-2.amazonaws.com/axelard/v0.26.0/axelard-darwin-arm64-v0.26.0.asc

Home directory

By default the setup-node.sh script sets the home directory for your node as follows:

NetworkHome directory path
mainnet$HOME/.axelar
testnet$HOME/.axelar_testnet

On a fresh install setup-node.sh puts the following in your node's home directory:

.axelar
├── bin
│   ├── axelard -> /Users/gus/.foo/bin/axelard-vx.y.z
│   └── axelard-vx.y.z
├── config
│   ├── app.toml
│   ├── config.toml
│   ├── genesis.json
│   └── seeds.toml
├── lib
│   └── libwasmvm.${arch}.so
└── logs

Other pages assume the AXELARD_HOME environment variable is set to this directory in your current session, for example AXELARD_HOME="$HOME/.axelar".

CLI configuration

By default, many Axelar CLI commands contain boilerplate material that obfuscates the command and adds complexity to documentation. Here we describe documentation conventions and ways to configure your system so as to reduce this boilerplate.

Example: you can use the CLI to send uaxl tokens to another account on Axelar via the command

axelard tx bank send my_account {DEST_ADDR} {AMOUNT}uaxl --from my_account

The above command does not work on a system that has not yet been properly configured. On a fresh, unconfigured system you would instead need to type

echo $KEYRING_PASSWORD | ~/.axelar_testnet/bin/axelard tx bank send validator {DEST_ADDR} {AMOUNT}uaxl --from validator --gas auto --gas-adjustment 1.5 --chain-id axelar-testnet-lisbon-3 --home ~/.axelar_testnet

Let us explain the changes:

  • Keyring password. echo $KEYRING_PASSWORD : Commands that use tx to post a signed transaction to the network require a password to unlock the keyring. For simplicity documentation elides the keyring password. See Keyring backend for more info.
  • Path to axelard. ~/.axelar_testnet/bin/axelard : You can avoid the need to type the full path to axelard by putting axelard in your PATH environment variable or defining a shell alias.
  • Gas. --gas auto --gas-adjustment 1.5 : Commands that use tx to post a signed transaction to the network must pay transaction fees called gas. By default axelard estimates the gas fee but sometimes this estimation is inaccurate and the transaction fails due to insufficient gas fee. These gas flags instruct axelard to estimate gas more accurately, then increase the maximum gas for the transaction by a factor you specify (1.5 in this case) so that your transaction is more likely to have sufficient gas even if actual network fees exceed the estimate. For simplicity documentation elides these flags.
  • Chain ID. --chain-id axelar-testnet-lisbon-3 : Commands that use tx to post a signed transaction to the network must specify the chain-id for the transaction. You could instead set the AXELARD_CHAIN_ID environment variable.
  • Home directory. --home ~/.axelar_testnet : Many commands must specify the path to on-disk storage for axelard. You could instead set the AXELARD_HOME environment variable. The default value is ~/.axelar.

On this page