Skip to content

Latest commit

 

History

History
105 lines (71 loc) · 2.26 KB

steps-for-firing-up-a-full-node.md

File metadata and controls

105 lines (71 loc) · 2.26 KB

Steps for firing up a full AVA node

AVA is an open-source platform for launching highly decentralized applications, financial primitives, and interoperable blockchains.

These are steps for firing up an AVA full node on Digital Ocean.

Digital Ocean Ubuntu Instance

ssh into a Digital Ocean Ubuntu box

Requirements

OS

Ubuntu 18.04.3 (LTS) x64

Hardware

  • 8 GB / 4 CPUs
  • 160 GB SSD Disk
  • 5 TB transfer

Update and upgrade

apt-get update -y
apt-get upgrade -y
sudo reboot

Install AVA deps and oh-my-zsh

sudo apt-get install git curl build-essential libssl-dev libuv1-dev cmake make g++ zsh -y
yes Y | sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && zsh

Install golang

wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.14.2.linux-amd64.tar.gz

Configure vim

 wget https://raw.githubusercontent.com/cgcardona/dotfiles/master/.vimrc

Set env vars by adding the following to your ~/.zshrc file

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go

Reload your .zshrc file

source ~/.zshrc

Clone the Gecko rep

go get -v -d github.com/ava-labs/gecko/...
cd $GOPATH/src/github.com/ava-labs/gecko

Build the executable

./scripts/build.sh

Create new tmux session

tmux new -s ava-infra
zsh

Connect to the Public Testnet

./build/ava

We need to create a validating key for our node so that our node can be identified on the platform chain. We can create a randomly generated tls certificate for this. This is for starting the node and becoming a validator.

A key/cert pair are auto generated the first time the node is started with no key/cert passed in. The key/cert are located at ~/.gecko/staking/staker.crt and ~/.gecko/staking/staker.key.

You can also specify your own key/cert locations using the staking-tls-cert-file and staking-tls-key-file params.

Confirm the full node has peers

curl -X POST --data '{
    "jsonrpc": "2.0",
    "method": "admin.peers",
    "params":{},
    "id": 1
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin