Agoric Validator Setup
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/.profilesource ~/.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 && makeag-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 agoricjournalctl -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