- Run a node
- Node installation
This guide provides instructions on how to install and run a full node on the Archway blockchain network.
You can download the latest release of the pre-built binary from the releases page.
For Linux, and depending on your architecture:
You can now verify the download by generating the sha256 hash for the downloaded file:
Using the sha256sum should give you a string (i.e. 04fac46745579a7e8b22fc3b1f83dcf5c1aa2b03e303823eb54d2328e7c1fa05).
You can then download the sha256 checksum file relative to the release file:
wget archwaysha256.txt https://github.com/archway-network/archway/releases/download/v4.0.2/archwayd_v4.0.2_checksums.txt
and you can compare that the sha256 hash strings match, By doing so, you are ensuring that the downloaded file matches the actual release file.
After downloading the file, you can add executable permissions to it using the chmod command:
chmod +x archwayd_linux_amd64
The above command makes the binary executable.
You can now move the binary to a directory in your PATH. The /usr/local/bin directory is commonly used for custom user programs not managed by the distribution package manager and is usually included in the PATH. You can move your file there with the mv command and also rename it to archwayd at the same time:
sudo mv archwayd_linux_amd64 /usr/local/bin/archwayd
As an alternative, you can also use Docker (make sure to install it).
For Linux users, it's recommended to run the Docker daemon in Rootless Mode.
You can pull the docker image from the following repositories:
Make sure to pull the docker image relative to the latest release.
For example, to connect to the Tromphe mainnet or Constantine testnet, issue the following command:
docker pull ghcr.io/archway-network/archwayd:v4.0.2
Make sure to always use the image tag that points to the network you want to connect.
By default, the Docker image runs the
archwayd binary, so you should specify the arguments for
archwayd right after the image name. For better usage, mount an external volume at
/root/.archway to persist the daemon home path across different runs. For example, if you want to add a key:
docker run --rm -it \ -v ~/.archway:/root/.archway \ ghcr.io/archway-network/archwayd:v4.0.2 \ keys add test-key
And then list all keys:
docker run --rm -it \ -v ~/.archway:/root/.archway \ ghcr.io/archway-network/archwayd:v4.0.2 \ keys list
It's also important to notice that, when running a node in a network, you'll need to expose the container ports for external connectivity. The image exposes the following ports:
- 1317: Rest server
- 26656: Tendermint P2P
- 26657: Tendermint RPC
To simplify using the Docker container, you can set an alias with the home path and the proper image tag, like:
alias archwayd="docker run --rm -it -v ~/.archway:/root/.archway ghcr.io/archway-network/archwayd:v4.0.2"
After setting the alias with the above tip, you can use the other archwayd commands without typing the verbose Docker run command. For the sake of comprehensive documentation, the full Docker command is shown. Just remember that by setting the alias you can simply use archwayd instead of the Docker command.
If you cannot use the pre-built binary or the docker image, you can build the binary yourself.
Alternatively, you can clone the source code from the Archway repository. Go to https://github.com/archway-network/archway/releases to find the latest releases. You will then switch the <version-tag> below with the latest release version.
git clone https://github.com/archway-network/archway.gitcd archwaygit fetchgit checkout v4.0.2
Make sure to correctly set up the GOPATH, by either adding it to the ~/.bashrc file or launching the following commands from the shell:
export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
And then update your terminal shell by launching:
Do the following to build and install the archwayd daemon:
Confirm that the installation has been completed by running the following command:
It is not recommended to build binary yourself, unless no other option is available.
You can now verify that archwayd has been correctly installed by launching:
The following information should be shown:
Usage: archway [command]Available Commands: add-genesis-account Add a genesis account to genesis.json collect-gentxs Collect genesis txs and output a genesis.json file config Create or query an application CLI configuration file debug Tool for helping with debugging your application ensure-binary ensures the binary is correctly built export Export state to JSON gentx Generate a genesis tx carrying a self delegation help Help about any command init Initialize private validator, p2p, genesis, and application configuration files keys Manage your application's keys query Querying subcommands rollback rollback cosmos-sdk and tendermint state by one height start Run the full node status Query remote node for status tendermint Tendermint subcommands tx Transactions subcommands validate-genesis validates the genesis file at the default location or at the location passed as an arg version Print the application binary version informationFlags: -h, --help help for archway --home string directory for config and data (default "/home/usuario/.archway") --log_format string The logging format (json|plain) (default "plain") --log_level string The logging level (trace|debug|info|warn|error|fatal|panic) (default "info") --trace print out full stack trace on errorsUse "archway [command] --help" for more information about a command.
Now it is time to initialize your node.