February 14, 2023

Andromeda Protocol Testnet Guide

Andromeda — это децентрализованная операционная система, которая позволяет вам создавать dApps. Эти dApps можно быстро компоновать, используя обширную библиотеку для подключения к сервисам/проектам в локальной цепочке блоков или во всей экосистеме.

Website | Discord | Twitter | Telegram | Medium | Github | Explorer | Документация

Сегодня мы поговорим о настройке и запуске тестовой сети Galileo-3.

Минимальные требования сервера

4core CPU / 8Gb RAM / 100 Gb SSD (or NVME)

I. ПОДГОТОВКА СЕРВЕРА

Обновляем сервер и устанавливаем дополнительные пакеты

sudo apt update && sudo apt upgrade -y
sudo apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar net-tools clang git ncdu -y

Устанавливаем Go

ver="1.19.4" && \
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

II. УСТАНОВКА НОДЫ

Скачиваем и компилируем бинарный файл

cd $HOME
rm -rf andromedad
git clone https://github.com/andromedaprotocol/andromedad.git
cd andromedad
git checkout galileo-3-v1.1.0-beta1
make install

Инициализируем узел (не забудьте изменить значение MONIKER на свое)

andromedad init <moniker> --chain-id galileo-3
andromedad config chain-id galileo-3

Скачиваем генезис файл и адресбук

curl -s https://github.com/andromedaprotocol/testnets/blob/galileo-3/genesis.json
curl -s https://snapshots-testnet.nodejumper.io/andromeda-testnet/addrbook.json > $HOME/.andromedad/config/addrbook.json

Добавляем пиры

1 PEERS="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 -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.andromedad/config/config.toml

Настраиваем прунинг

sed -i -e "s/^pruning *=.*/pruning = \"nothing\"/" $HOME/.andromedad/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.andromedad/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"10\"/" $HOME/.andromedad/config/app.toml

Устанавливаем цену за газ

sed -i 's/minimum-gas-prices =.*/minimum-gas-prices = "0.025uandr"/g' $HOME/.andromedad/config/app.toml

Включаем мониторинг и отключаем индексацию (опционально)

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.andromedad/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.andromedad/config/config.toml

Сбрасываем данные

andromedad tendermint unsafe-reset-all --home $HOME/.andromedad --keep-addr-book

Создаем сервисный файл

sudo tee /etc/systemd/system/andromedad.service > /dev/null <<EOF
[Unit]
Description= Andromeda Protocol Node
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

andromedad status 2>&1 | jq .SyncInfo 
# если вы наблюдаете статус false - ваш узел синхронизировался

III. СОЗДАНИЕ ВАЛИДАТОРА

Создаем кошелек (не забываем сохранить сид-фразу) и запрашиваем тестовые токены в кране дискорда проекта.

andromedad keys add wallet
!request YOUR_WALLET_ADDRESS (команду запускать в кране дискорда)

Проверяем баланс кошелька

andromedad q bank balances $(andromedad keys show wallet -a)

Создаем валидатора

andromedad tx staking create-validator \
--amount=100000uandr \
--pubkey=$(andromedad tendermint show-validator) \
--moniker="YOUR_MONIKER" \
--website="YOUR_WEBSITE" \
--identity="YOUR_KEYBASE_ID" \
--details="DETAILS_ABOUT_YOUR_SERVICES" \
--chain-id=galileo-3 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=10000uandr \
--from=wallet \
-y

Проверяем данные валидатора (не забываем сохранить локально приватный ключ валидатора)

andromedad q staking validator $(andromedad keys show wallet --bech val -a)

IV. ПОЛЕЗНЫЕ КОМАНДЫ

Перезагрузка узла

sudo systemctl restart andromedad

Статус узла

sudo systemctl status andromedad

Логи узла

sudo journalctl -u andromedad -f --no-hostname -o cat

Удаление узла

andromedad tendermint unsafe-reset-all --home $HOME/.andromedad --keep-addr-book
sudo systemctl stop andromedad && sudo systemctl disable andromedad && sudo rm /etc/systemd/system/andromedad.service && sudo systemctl daemon-reload && rm -rf $HOME/.andromedad && rm -rf $HOME/andromedad && sudo rm $(which andromedad)