February 15, 2023
Andromeda Protocol Testnet
Discord | Twitter | Github | Explorer
Сервер
Мінімальні рекомендовані апаратні вимоги для запуску валідатора:
Нода
# підготовка сервера 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 (однією командою) ver="1.19" && \ 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
# задаємо перемінні #придумуємо назву ноди та міняємо замість <your_moniker> ANDROMEDA_MONIKER=<your_node_name>
# зберігаємо перемінні в bash echo 'export ANDROMEDA_MONIKER='$ANDROMEDA_MONIKER >> $HOME/.bash_profile echo "export ANDROMEDA_CHAIN_ID=andromeda-testnet-1" >> $HOME/.bash_profile echo "export ANDROMEDA_PORT=16" >> $HOME/.bash_profile source $HOME/.bash_profile
# качаємо бінарні файли cd $HOME git clone https://github.com/andromedaprotocol/andromedad.git cd andromedad git checkout galileo-3-v1.1.0-beta1 make install andromedad version --long # version: galileo-3-v1.1.0-beta1 # commit: b3f8d880dfcdb3265d321e465b47b04071d9480f
# ініціалізовуємо ноду andromedad init $ANDROMEDA_MONIKER --chain-id $ANDROMEDA_CHAIN_ID
# качаємо генезис wget -O $HOME/.andromedad/config/genesis.json "https://raw.githubusercontent.com/obajay/nodes-Guides/main/AndromedaProtocol/genesis.json" sha256sum $HOME/.andromedad/config/genesis.json # звіряємо рядок нижче з тим що в терміналі # 26cefef408b9cdc013e7427d5fb05bbd44a006d80b7e0db36aaf125edda9b4e6
#config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${ANDROMEDA_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${ANDROMEDA_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${ANDROMEDA_PORT}061\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${ANDROMEDA_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${ANDROMEDA_PORT}660\"%" $HOME/.andromedad/config/config.toml
# app.toml
sed -i.bak -e "s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${ANDROMEDA_PORT}90\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${ANDROMEDA_PORT}91\"%; s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:1${ANDROMEDA_PORT}7\"%" $HOME/.andromedad/config/app.toml
# client.toml
sed -i.bak -e "s%^node = \"tcp://localhost:26657\"%node = \"tcp://localhost:${ANDROMEDA_PORT}657\"%" $HOME/.andromedad/config/client.toml
external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:${ANDROMEDA_PORT}656\"/" $HOME/.andromedad/config/config.tomlandromedad config chain-id $ANDROMEDA_CHAIN_ID andromedad config keyring-backend test # налаштовуємо мінімальну ціну за газ, додаємо сіди/піри sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0uandr\"/;" ~/.andromedad/config/app.toml SEEDS="" PEERS="9d058b4c4eb63122dfab2278d8be1bf6bf07f9ef@andromeda-testnet.nodejumper.io:26656,9d058b4c4eb63122dfab2278d8be1bf6bf07f9ef@andromeda-testnet.nodejumper.io:26656,e4d0c8cf6a3dbee8af43582bb14e6e1077028341@198.244.179.125:30170,f17030edb4e4ec7143c3e3bbbfaeee3dd1a619f2@194.34.232.224:56656,5e5186020063f7f8a3f3c6c23feca32830a18f33@65.109.174.30:56656,6006190d5a3a9686bbcce26abc79c7f3f868f43a@37.252.184.230:26656,aeccd559d0d6f8dfb4efcf311fbad3e80ae0e87f@217.160.26.225:26656,67b79549c8890782e3cf44e3fe4688e15ff37929@65.109.19.93:27412,50ca8e25cf1c5a83aa4c79bb1eabfe88b20eb367@65.108.199.120:61356,06d4ab2369406136c00a839efc30ea5df9acaf11@10.128.0.44:26656,43d667323445c8f4d450d5d5352f499fa04839a8@192.168.0.237:26656,29a9c5bfb54343d25c89d7119fade8b18201c503@192.168.101.79:26656,6006190d5a3a9686bbcce26abc79c7f3f868f43a@37.252.184.230:26656" sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.andromedad/config/config.toml # Налаштовуємо прунінг pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.andromedad/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.andromedad/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.andromedad/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.andromedad/config/app.toml
cd $HOME apt install lz4 cp $HOME/.andromedad/data/priv_validator_state.json $HOME/.andromedad/priv_validator_state.json.backup rm -rf $HOME/.andromedad/data curl -o - -L http://andromedad.snapshot.stavr.tech:1021/andromedad/andromedad-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.andromedad --strip-components 2 curl -o - -L http://andromedad.wasm.stavr.tech:1002/wasm-andromedad.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.andromedad --strip-components 2 mv $HOME/.andromedad/priv_validator_state.json.backup $HOME/.andromedad/data/priv_validator_state.json wget -O $HOME/.andromedad/config/addrbook.json "https://raw.githubusercontent.com/obajay/nodes-Guides/main/AndromedaProtocol/addrbook.json"
# cтворюємо сервісний файл (Одна команда) sudo tee /etc/systemd/system/andromedad.service > /dev/null <<EOF [Unit] Description=andromedad After=network-online.target [Service] User=$USER ExecStart=$(which andromedad) start Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
# запускаємо ноду sudo systemctl daemon-reload sudo systemctl enable andromedad sudo systemctl restart andromedad && sudo journalctl -u andromedad -f -o cat
# подивитись логи sudo journalctl -u andromedad -f -o cat # Вихід з логів через ctrl+c
wget -O $HOME/.andromedad/config/addrbook.json "https://raw.githubusercontent.com/obajay/nodes-Guides/main/AndromedaProtocol/addrbook.json" systemctl restart andromedad && journalctl -u andromedad -f -o cat
# перевірити статус синхронізації
andromedad status 2>&1 | jq "{catching_up: .SyncInfo.catching_up}"
# "catching_up": false - означає що нода синхронізувалась (чекаємо false)# створюємо/відновлюємо гаманець andromedad keys add wallet andromedad keys add wallet --recover
# зберігаємо адресу # Замініть <your_address> на адресу вашого гаманця ANDROMEDA_ADDRESS=<your_address> echo "export ANDROMEDA_ADDRESS=$ANDROMEDA_ADDRESS" >> $HOME/.bash_profile source $HOME/.bash_profile
# перевіряємо баланс andromedad q bank balances $ANDROMEDA_ADDRESS
Валідатор
andromedad tx staking create-validator \ --amount=1900000uandr \ --pubkey=$(andromedad tendermint show-validator) \ --moniker="назва ноди" \ --website="Посилання на свій сайт чи сторінку в інтернеті" \ --identity=<identity> \ --details="Кілька слів про себе" \ --chain-id=galileo-3 \ --commission-rate=0.1 \ --commission-max-rate=0.2 \ --commission-max-change-rate=0.05 \ --min-self-delegation=1 \ --fees=1000uandr \ --from=wallet \ -y
# записуємо valoper_address в bash # Замінюємо <your_valoper_address> на адресу валідатора, починається на nibivaloper... ANDROMEDA_VALOPER=<your_valoper_address> echo "export ANDROMEDA_VALOPER=$ANDROMEDA_VALOPER" >> $HOME/.bash_profile source $HOME/.bash_profile
Зберігаємо priv_validator_key.json що знаходиться за адресою /root/.andromedad/config/