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-communityRun setup-node.sh to download the axelard binary and configure your node:
./scripts/setup-node.sh -n [mainnet|testnet]Some additional flags:
-a: Version ofaxelard.-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.0The 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.ascHome directory
By default the setup-node.sh script sets the home directory for your node as follows:
| Network | Home 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
└── logsOther 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_accountThe 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_testnetLet us explain the changes:
- Keyring password.
echo $KEYRING_PASSWORD: Commands that usetxto 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 toaxelardby puttingaxelardin yourPATHenvironment variable or defining a shell alias. - Gas.
--gas auto --gas-adjustment 1.5: Commands that usetxto post a signed transaction to the network must pay transaction fees called gas. By defaultaxelardestimates the gas fee but sometimes this estimation is inaccurate and the transaction fails due to insufficient gas fee. These gas flags instructaxelardto estimate gas more accurately, then increase the maximum gas for the transaction by a factor you specify (1.5in 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 usetxto post a signed transaction to the network must specify thechain-idfor the transaction. You could instead set theAXELARD_CHAIN_IDenvironment variable. - Home directory.
--home ~/.axelar_testnet: Many commands must specify the path to on-disk storage foraxelard. You could instead set theAXELARD_HOMEenvironment variable. The default value is~/.axelar.