This site requires Javascript to be enabled.
  • Docs
  • Run a node
  • Node installation

Node installation

This guide provides instructions on how to install and run a full node on the Archway blockchain network.

Use the pre-built binary

Download the binary

You can download the latest release of the pre-built binary from the releases page.

For Linux, and depending on your architecture:

amd64

arm64

wget https://github.com/archway-network/archway/releases/download/v4.0.3/archwayd_linux_amd64

Verify the integrity of the binary

You can now verify the download by generating the sha256 hash for the downloaded file:

amd64

arm64

sha256sum archwayd_linux_amd64

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.3/archwayd_v4.0.3_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.

Add executable permissions

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.

Move the binary to the chosen directory

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

Use the archwayd docker image

As an alternative, you can also use Docker (make sure to install it).

Warning

For Linux users, it's recommended to run the Docker daemon in Rootless Mode.

Pull the docker image

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.3

Info

Make sure to always use the image tag that points to the network you want to connect.

Set up the PATH

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.3 \  keys add test-key

And then list all keys:

docker run --rm -it \  -v ~/.archway:/root/.archway \  ghcr.io/archway-network/archwayd:v4.0.3 \  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

Info

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.3"

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.

Clone the repository

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.3

Set the GOPATH

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:

source ~/.profile

Build archwayd

Do the following to build and install the archwayd daemon:

make install

Confirm that the installation has been completed by running the following command:

archwayd version

Try it:

archwayd version
Try It

Info

It is not recommended to build binary yourself, unless no other option is available.

Ensure that archwayd is installed

You can now verify that archwayd has been correctly installed by launching:

archwayd

Try it:

archwayd
Try It

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.

Next steps

Now it is time to initialize your node.

Drop Camp is here!

Join the queue and be one of the first to get in!.

Go Camping ↗