Full Node Build
Install pre-requisites
# update the local package list and install any available upgrades
sudo apt-get update && sudo apt upgrade -y
# install toolchain and ensure accurate time synchronization
sudo apt-get install make build-essential gcc git jq chrony -y
Install Go
Follow the instructions here to install Go.
For an Ubuntu LTS, we can use:
# find location of existing GO (if any)
which go
go version
# remove old GO if existing
sudo rm -rf /usr/local/go
# install updated GO
wget https://golang.org/dl/go1.20.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz
rm -rf go1.20.3.linux-amd64.tar.gz
Unless you want to configure in a non standard way, then set these in the .zshrc
in the user's home (i.e. ~/
) folder.
nano ~/.zshrc
Add the "export Pathing" rules at the bottom, and then save the file:
# add export PATHS below
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin:$GOBIN
After updating your ~/.zshrc
you will need to source it:
source ~/.zshrc
Build Daemon from source
git clone https://github.com/archway-network/archway
cd archway
git checkout v1.0.0-rc.2
make install
To confirm that the installation has succeeded, you can run:
archwayd version --long
Configuration of Shell Variables
For this guide, we will be using shell variables. This will enable the use of the client commands verbatim. It is important to remember that shell commands are only valid for the current shell session, and if the shell session is closed, the shell variables will need to be re-defined.
If you want variables to persist for multiple sessions, then set them explicitly in your shell .profile, as you did for the Go environment variables.
To clear a variable binding, use unset $VARIABLE_NAME
. Shell variables should be named with ALL CAPS.
archwayd config keyring-backend os
archwayd config chain-id constantine-3
CHAIN_ID="constantine-3"
YOUR_MONIKER=<moniker-name>
Setting Up the Node
These instructions will direct you on how to initialize your node, synchronize to the network and upgrade your node to a validator.
Initialize the chain
Please replace YOUR_MONIKER
with your own moniker.
archwayd init YOUR_MONIKER --chain-id constantine-3
This will generate the following files in ~/.archway/config/
genesis.json
node_key.json
priv_validator_key.json
Download the genesis file
wget -O https://raw.githubusercontent.com/archway-network/networks/main/constantine-3/genesis.json
mv genesis.json ~/.archway/config/genesis.json
This will replace the genesis file created using archway init
command with the mainnet genesis.json
.
Set Seeds
sed -i 's/seeds = ""/seeds = "3f472746f46493309650e5a033076689996c8881@archway-testnet.rpc.kjnodes.com:15659"/' ~/.archway/config/config.toml
Set Persistent Peers
We can add these persistent_peers
to our config.toml
:
sed -i "s/persistent_peers =.*/persistent_peers = \""\"/g" "${HOME}"/.archway/config/config.toml"
Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0aconst\"|" "${HOME}"/.archway/config/app.toml
Create (or restore) a local key pair
Either create a new key pair or restore an existing wallet for your validator:
# Create new keypair
archwayd keys add YOURKEY
# Restore existing juno wallet with mnemonic seed phrase.
# You will be prompted to enter mnemonic seed.
archwayd keys add YOURKEY --recover
# Query the keystore for your public address
archwayd keys show YOURKEY -a
After creating a new key, the key information and seed phrase will be shown. It is essential to write this seed phrase down and keep it in a safe place. The seed phrase is the only way to restore your keys.
Setup cosmovisor
Follow the Setup Cosmovisor instructions to setup cosmovisor and start the node.
Upgrade to a validator
Do not attempt to upgrade your node to a validator until the node is fully in sync as per the previous step.
To upgrade the node to a validator, you will need to submit a create-validator
transaction:
archwayd tx staking create-validator \
--amount=1000000aconst \
--pubkey=$(archwayd tendermint show-validator) \
--moniker="<Your moniker>" \
--identity=<your identity> \
--details="<Your details>" \
--chain-id=constantine-3 \
--commission-rate=0.10 \
--commission-max-rate=0.20 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--from=<YOUR_WALLET> \
--gas-prices=0.1aconst \
--gas-adjustment=1.5 \
--gas=auto \
-y
The above transaction is just an example. There are many more flags that can be set to customize your validator, such as your validator website, or keybase.io id, etc. To see a full list:
archwayd tx staking create-validator --help
Backup critical files
There are certain files that you need to back up to be able to restore your validator if, for some reason, it damaged or lost in some way. Please make a secure backup of the following files located in ~/.archway/config/
:
priv_validator_key.json
node_key.json
It is recommended that you encrypt and backup of these files.
Last updated
Was this helpful?