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/v9.0.0/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/v9.0.0/archwayd_v9.0.0_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

For this option you will need to have Docker installed.

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 repository. Make sure to pull the docker image relative to the latest Archway release.

For example, to connect to the Tromphe (mainnet or Constantine (testnet), issue the following command:

docker pull ghcr.io/archway-network/archwayd-dev:v9.0.0

Info

Make sure to always use the image tag that is being used on the network you want to connect to.

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-dev:v9.0.0 \  keys add test-key

And then list all keys:

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

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. This might be the ideal solution for users on MacOS running M1/M2 chips if they are not willing to utilize our Docker solution above.

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 v9.0.0

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:

Archway Daemon (server)Usage:  archwayd [command]Available Commands:  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  genesis       Application's genesis-related subcommands  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  rosetta       spin up a rosetta server  start         Run the full node  status        Query remote node for status  tendermint    Tendermint subcommands  tx            Transactions subcommands  version       Print the application binary version informationFlags:  -h, --help                help for archwayd      --home string         directory for config and data (default "/Users/adrianthompson/.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")      --log_no_color        Disable colored logs      --trace               print out full stack trace on errorsUse "archwayd [command] --help" for more information about a command.

Next steps

Now it is time to initialize your node.