Agoric Validator Setup

Masternode24
3 min readMar 31, 2021

So haben wir unsere Validator Node aufgesetzt:

Vorhandene Pakete aktualisieren:

apt update && apt upgrade -y

Neue Pakete installieren:

#Essentielle und benötigte Pakete installieren
sudo apt install nodejs=12.* yarn build-essential jq git -y
#PPA für Node.js herunterladen
curl https://deb.nodesource.com/setup_12.x | sudo bash
#Yarn Repo Konfiguration
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#Ubuntu wiederholt updaten
apt update && apt upgrade -y

Go installieren:

#Version (1.15.7.) herunterladen
wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz
#Etnpacken
tar -C /usr/local -xzf go1.15.7.linux-amd64.tar.gz
#File wird jetzt nicht mehr benötigt, deswegen löschen wir es
rm -r go1.15.7.linux-amd64.tar.gz
#Pfad speichern und aktivieren
echo "export PATH=\$PATH:/usr/local/go/bin:~/go/bin" >> $HOME/.profile
source ~/.profile#Go Version Überprüfen und vergleichen
go version
#go version go1.15.7 linux/amd64

Agoric Repository klonen und benötigte Version installieren:

git clone https://github.com/Agoric/agoric-sdk -b @agoric/sdk@2.15.1
cd agoric-sdk
yarn install
yarn build
cd packages/cosmic-swingset && make
ag-chain-cosmos version --long
#name: agoriccosmos
#server_name: ag-cosmos-server
#version: 0.24.3
#commit: ed0ffadb
#build_tags: ',ledger'
#go: go version go1.15.7 linux/amd64

Wallet neu erstellen oder importieren:

#Importieren
ag-cosmos-helper keys add <Wunschname des Wallets> --recover
#Enter keyring passphrase: dein Password
******
#Bip 39 Mnemonic Phrase aus 12 - 24 Wörter eingeben
******
-------------Oder
#Neue Wallet erstellen
ag-cosmos-helper keys add <Wunschname des Wallets>

Netzwerk Parameter :

Herunterladen der chain.json

curl https://testnet.agoric.net/network-config > chain.json

Chain Identifikation setzen:

vi .bashrcchainName=`jq -r .chainName < chain.json`source .bashrc

Chain Identifikation initialisieren:

ag-chain-cosmos init --chain-id $chainName <Wunschname des Validators>

Genesis file herunterladen, in den Config Ordner einfügen, und Validator Status zurücksetzen:

curl https://testnet.agoric.net/genesis.json > $HOME/.ag-chain-cosmos/config/genesis.jsonag-chain-cosmos unsafe-reset-all

Peers und Seeds Verbindungen zu anderen Nodes setzen und überprüfen:

peers=$(jq '.peers | join(",")' < chain.json)seeds=$(jq '.seeds | join(",")' < chain.json)#Variablen überprüfen
echo $peers
echo $seeds
# Bei "Error: failed to parse log level"
sed -i.bak 's/^log_level/# log_level/' $HOME/.ag-chain-cosmos/config/config.toml
#Persistent_peers und seeds Variablen in config File schreiben
sed -i.bak -e "s/^seeds *=.*/seeds = $seeds/; s/^persistent_peers *=.*/persistent_peers = $peers/" $HOME/.ag-chain-cosmos/config/config.toml

Node starten mit systemd service:

File mit root User

vi /etc/systemd/system/agoric.service[Unit]
Description=Agoric Cosmos daemon
After=network-online.target

[Service]
User=root
ExecStart=/root/go/bin/ag-chain-cosmos start --log_level=warn
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target

Start

systemctl enable agoric

systemctl start agoric
journalctl -u agoric -f

Warten bis Synchronisation vollendet ist: (catching_up=false)

ag-cosmos-helper status 2>&1 | jq .SyncInfo

Validator im Netz registrieren

Zuerst müssen sie ein paar Tokens auf Wallet anfordern: hier im Agoric Discord Channel https://agoric.com/discord

Validator registrieren:

#Validator Pubkey abrufen:
ag-chain-cosmos tendermint show-validator
#agoricvalconspub1..............
ag-cosmos-helper tx staking create-validator \
--amount=50000000uagstake \
--broadcast-mode=block \
--pubkey=<agoricvalconspub1........> \
--moniker=<Wunschname des Validators> \
--website=<deine-website-optional> \
--details=<beschreibung-optional> \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--from=<Name des Wallets> \
--chain-id=$chainName \
--gas=auto \
--gas-adjustment=1.5

Quellen:

https://gist.github.com/dckc/c6d4c5800daca0bd3439aee3e024b317https://github.com/Agoric/agoric-sdk/wiki/Validator-Guidehttps://agoric.com/https://agoric.com/discord

--

--