💾Node Installation

Agoric Mainnet guide

  • Minimum hardware requirements:

Node TypeCPURAMStorage

Mainnet

8

16GB

250GB

1) Auto_install script

wget -O agoric https://raw.githubusercontent.com/111STAVR111/props/main/Agoric/agoric && chmod +x agoric && ./agoric

2) Manual installation

Preparing the server

sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

GO 1.21.6

ver="1.21.6"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version

Node.js

sudo apt install curl
curl https://deb.nodesource.com/setup_14.x | sudo bash
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt upgrade -y
sudo apt install nodejs=14.* yarn build-essential jq -y

Build 23.07.24

cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/Agoric/agoric-sdk
cd $HOME/agoric-sdk
git fetch --all
git checkout agoric-upgrade-16-rc3
git clean -xdf && git submodule foreach --recursive git clean -xdf
./bin/agd build

agd version --long

  • version: 0.35.0-u16.2

  • commit: c772ff407-dirty

Initiation

agd init STAVR_guide --chain-id=agoric-3
agd config chain-id agoric-3

Create/recover wallet

agd keys add <walletname>
           OR
agd keys add <walletname> --recover

Download Genesis

curl https://main.agoric.net/genesis.json > $HOME/.agoric/config/genesis.json 

sha256sum $HOME/.agoric/config/genesis.json

  • 845d67b4dab0714e20a28cbff49f64f474a2141fc69e7b6072b30bdec6fef7ae

Set up the minimum gas price and Peers/Seeds/Filter peers/MaxPeers

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0ubld\"/;" ~/.agoric/config/app.toml
external_address=$(wget -qO- eth0.me) 
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.agoric/config/config.toml
peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.agoric/config/config.toml
seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.agoric/config/config.toml
sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.agoric/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.agoric/config/config.toml

Pruning (optional)

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.agoric/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.agoric/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.agoric/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.agoric/config/app.toml

Indexer (optional)

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.agoric/config/config.toml

Download addrbook

wget -O $HOME/.agoric/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Agoric/addrbook.json"

Create a service file

tee /etc/systemd/system/agoricd.service > /dev/null <<EOF
[Unit]
Description=Agoric Cosmos daemon
After=network-online.target
[Service]
# OPTIONAL: turn on JS debugging information.
#SLOGFILE=.agoric/data/chain.slog
User=$USER
# OPTIONAL: turn on Cosmos nondeterminism debugging information
#ExecStart=$(which agd) start --log_level=info --trace-store=.agoric/data/kvstore.trace
ExecStart=$(which agd) start --log_level=info
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

StateSync Agoric Mainnet

SOON

SnapShot Mainnet updated every 5 hours

SOOON

Start

sudo systemctl daemon-reload
sudo systemctl enable agoricd
sudo systemctl restart agoricd && sudo journalctl -u agoricd -f -o cat

Create validator

agd tx staking create-validator \
--amount=1000000ubld \
--broadcast-mode=block \
--pubkey=`ag0 tendermint show-validator` \
--moniker=STAVRguide \
--commission-rate="0.1" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.1" \
--min-self-delegation="1" \
--from=<walletName> \
--chain-id=agoric-3 \
--gas-adjustment=1.4 -y

Monitoring

You can set up your node status alarm here - Monitoring

Security

You can create secure management of your wallet and your node by following this links.

TMKMS Wallet Security

Delete node

sudo systemctl stop agoricd.service
sudo systemctl disable agoricd.service
rm /etc/systemd/system/agoricd.service
sudo systemctl daemon-reload
cd $HOME
rm -rf agoric-sdk
rm -rf .agoric
rm -rf $(which agd)

Last updated