The axelar-core app based on the Cosmos SDK is the main application of the axelar network. This repository is used to build the necessary binaries and docker image to run a core node.
- Have a SSH key on your machine
- Add your public key to your Github account for authentication
- Run
ssh-add ~/.ssh/{private key file name}
to add your private key to your ssh agent. IMPORTANT: the ssh agent only keeps your priate key in memory so you have to repeat this step every time you restart your machine. You can automate this step in two ways as described here:- Add the following to your
~/.ssh/config
file:
Host * AddKeysToAgent yes UseKeychain yes
- Add
ssh-add ~/.ssh/{private key file name} &>/dev/null
in your shell's .rc file (eg.~/.bash_profile
).
- Add the following to your
- Run
git config --global url."[email protected]:axelarnetwork".insteadOf https://github.com/axelarnetwork
to forcego get
to authenticate via ssh
Execute make build
to create local binaries for the validator node. They are created in the ./bin
folder.
To create a regular docker image for the node, execute make docker-image
. This creates the image axelar/core:
latest.
To create a docker image for debugging (with delve),
execute make docker-image-debug
. This creates the image axelar/core-debug:latest.
With a local (dockerized) node running, the axelard
binary can be used to interact with the node.
Run ./bin/axelard --help
after building the binaries to get information about the available commands.
Execute GO111MODULE=off go get -u golang.org/x/tools/cmd/godoc
to ensure that godoc
is installed on the host.
After the installation, execute godoc -http ":{port}" -index
to host a local godoc server. For example, with
port 8080
the documentation is hosted at
http://localhost:8080/pkg/github.com/axelarnetwork/axelar-core. The index flag makes the documentation searchable.
Comments at the beginning of packages, before types and before functions are automatically taken from the source files to populate the documentation. See https://blog.golang.org/godoc for more information.
For the full list of available CLI commands for axelard
see here
Because it is an executable, github.com/matryer/moq is not automatically downloaded when executing go mod download
or similar commands. Execute go get github.com/matryer/moq
to install the moq tool to generate mocks for
interfaces.
See the Axelar documentation website.