Skip to content

Instantly share code, notes, and snippets.

@Validatrium
Last active April 6, 2022 13:01
Show Gist options
  • Save Validatrium/8357e0f084ed1b482a3c4ca438040283 to your computer and use it in GitHub Desktop.
Save Validatrium/8357e0f084ed1b482a3c4ca438040283 to your computer and use it in GitHub Desktop.
Setup up archway node on ubuntu 20.04 server

Setup node

# prerequires
sudo apt install  jq
# install docker 
curl -sL get.docker.com | sudo bash

# set name for your node
# replace <value> with your value.
NODENAME=<your-node-name> #example NODENAME=Validatrium


echo "
alias archwayd='docker run --rm -it --network host -v ~/.archway:/root/.archway archwaynetwork/archwayd:augusta' 

RPC_ENDPOINT=https://rpc.augusta-1.archway.tech

export ACCOUNT=$NODENAME
export CHAIN=augusta-1
" >> ~/.bashrc
source ~/.bashrc

# init node and create key
archwayd init $ACCOUNT --chain-id $CHAIN
archwayd keys add $ACCOUNT
# or recover key if you already have one
archwayd keys add $ACCOUNT --recover

# download genesis
curl -s "$RPC_ENDPOINT/genesis" | jq '.result.genesis' > ~/.archway/config/genesis.json

# insert seed and peers
SEED=2f234549828b18cf5e991cc884707eb65e503bb2@34.74.129.75:31076
PEERS=0d7facb555de00a61f28420e6654a4039c99f63b@23.88.37.54:26656,bd985a14ebbcfa5b73794a1e77d888ec96e940a1@5.9.199.71:26656

sed -i.bak -e's/seeds =*.*/seeds = "'$SEED'"/;s/persistent_peers =*.*/persistent_peers = "'$PEERS'"/' $HOME/.archway/config/config.toml

# set pruning options
sed -e 's/pruning = "default"/pruning = "custom"/;s/pruning-keep-recent = "0"/pruning-keep-recent = "100"/;s/pruning-interval = "0"/pruning-interval = "10"/' $HOME/.archway/config/app.toml

Download snapshot

If you don't want to wait till node is fully synced you can download our snapshot. It's on height ~620000.

# be sure node is down!
rm -rf $HOME/.archway/data
# snapshot size is 24GB, it might take a while till download completed
wget https://snap.validatrium.club/archway/archway-620000-pruned.tar
tar -xvf archway-620000-pruned.tar -C .archway/

Run node

Manual run:

archwayd start --x-crisis-skip-assert-invariants

Run as service

sudo tee /etc/systemd/system/archwayd.service > /dev/null <<EOF 
[Unit]
Description=archwayd node
After=network-online.target 

[Service]
User=root
ExecStart=/bin/bash -c "/usr/bin/docker run --rm --network host -v ~/.archway:/root/.archway archwaynetwork/archwayd:augusta start --x-crisis-skip-assert-invariants"
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target 
EOF


systemctl enable archwayd
systemctl start archwayd
# logs
journalctl -u archwayd -f

Create validator

After your node is full synced run:

archwayd tx staking create-validator --amount 0uaugust --from $ACCOUNT --commission-max-change-rate "0.01" --commission-max-rate "0.1" --commission-rate "0.01" --min-self-delegation "1" --pubkey $(archwayd tendermint show-validator) --moniker $ACCOUNT ---chain-id $CHAIN --gas 300000 --fees 3uaugust

Additional section:

Get latest node height: curl -s localhost:26657/status | jq .result.sync_info

Get node's peers count: curl -s localhost:26657/net_info | jq '.result.peers | length'

Way to find more peers:

You can grap some peers from official RPC server

curl -s $RPC_ENDPOINT/net_info | jq  -r '.result.peers[].node_info | .id+"@"+.listen_addr'

and paste it into $HOME/.archway/config/config.toml as a persistent_peers = "<peer-1>,<peer-2>"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment