Skip to main content

Setup your node

Install pre requis

sudo apt-get update && sudo apt upgrade -y 
sudo apt-get install make build-essential gcc git jq chrony -y

Install go

sudo rm -rf /usr/local/go
wget https://golang.org/dl/go1.19.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz
rm go1.19.1.linux-amd64.tar.gz

Setting up go

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

Install Node.js

You can pass this step if Node.js is already installed

sudo apt update 
curl -s https://deb.nodesource.com/setup_18.x | sudo bash
sudo apt install -y nodejs

To confirm that Node.js is well installed

node -v

#=18.16.0

Install Node

Install the Agoric node binary by running the following commands

#from $HOME dir 
git clone https://github.com/Agoric/agoric-sdk
cd agoric-sdk
git fetch
git checkout tags/agoric-upgrade-11
yarn install && yarn build
(cd packages/cosmic-swingset && make)

To confirm that the node is well installed

agd version

#tags/agoric-upgrade-11

Setting up the Node

This will generate severals files in ~/.agoric/config/

  • node_key.json
  • genesis.json
  • priv_validator_key.json

Initialization node

Please choose your MONIKER name and replace it in the next command, it will represent your node

agd init MONIKER_NAME --chain-id agoric-3

Download and replace the genesis file

rm ~/.agoric/config/genesis.json
wget https://snapshots.polkachu.com/genesis/agoric/genesis.json -O ~/.agoric/config/genesis.json

Set minimum gas prices

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"\"/" ~/.agoric/config/app.toml

Node connexion

In order to connect the node you can either use seeds, lives peers or address book.

Set Seeds

SEEDS = ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@seeds.polkachu.com:14456
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" $HOME/.agoric/config/config.toml

Setup service file

[Unit]
Description="agoric node"


[Service]
User=USER
ExecStart=$(which agd) start
Restart=always
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target

If you'd like to synchronise a node from a snapshot check the snapshot part

Start service file

systemctl daemon-reload
systemctl start agoric.service | journalctl -u agoric.service -f