Ekaterina Kulikova |
12.01.2023 18:35 |
Lava | Testnet - установка ноды
Lava | Testnet - установка ноды
Требования к серверу: я взяла СPХ31 хетцнере
Установка
Подготавливаем сервер:
Код:
sudo apt update
sudo apt install
sudo apt install -y unzip gcc make logrotate git jq sed wget curl coreutils systemd
temp_folder=$(mktemp -d) && cd $temp_folder
#создаем временную директорию
#устанавливаем го
go_package_url="https://go.dev/dl/go1.18.linux-amd64.tar.gz"
go_package_file_name=${go_package_url##*\/}
wget -q $go_package_url
sudo tar -C /usr/local -xzf $go_package_file_name
echo "export PATH=\$PATH:/usr/local/go/bin" >>~/.profile
echo "export PATH=\$PATH:\$(go env GOPATH)/bin" >>~/.profile
source ~/.profile
cd
Код:
git clone https://github.com/lavanet/lava
cd lava
git checkout v0.16.0
make install
lavad version
Инициализация:
Код:
lavad init "NODE_MONIKER" --chain-id lava-testnet-1
#заменить NODE_MONIKER на моникер своей ноды
#выдаст много текста - это норм
Копируем генезис:
Код:
curl -s https://raw.githubusercontent.com/K433QLtr6RA9ExEq/GHFkqmTzpdNLDd6T/main/testnet-1/genesis_json/genesis.json > $HOME/.lava/config/genesis.json
Копируем адрбук:
Код:
curl -s https://snapshots1-testnet.nodejumper.io/lava-testnet/addrbook.json > $HOME/.lava/config/addrbook.json
Добавляем peers и seeds и доп настройки в конфиг:
Код:
SEEDS="3a445bfdbe2d0c8ee82461633aa3af31bc2b4dc0@prod-pnet-seed-node.lavanet.xyz:26656,e593c7a9ca61f5616119d6beb5bd8ef5dd28d62d@prod-pnet-seed-node2.lavanet.xyz:26656"
PEERS=""
sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.lava/config/config.toml
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.025ulava"|g' $HOME/.lava/config/app.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.lava/config/config.toml
Создаем сервисный файл:
Код:
sudo tee /etc/systemd/system/lavad.service > /dev/null << EOF
[Unit]
Description=Lava Network Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which lavad) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Код:
lavad tendermint unsafe-reset-all --home $HOME/.lava --keep-addr-book
Код:
SNAP_NAME=$(curl -s https://snapshots1-testnet.nodejumper.io/lava-testnet/ | egrep -o ">lava-testnet-1.*\.tar.lz4" | tr -d ">")
curl https://snapshots1-testnet.nodejumper.io/lava-testnet/${SNAP_NAME} | lz4 -dc - | tar -xf - -C $HOME/.lava
Запускаем сервисный файл:
Код:
sudo systemctl daemon-reload
sudo systemctl enable lavad
sudo systemctl start lavad
Просмотр логов:
Код:
sudo journalctl -u lavad -f --no-hostname -o cat
Добавляем переменные:
Код:
echo "export ACCOUNT_NAME=name_here" >> ~/.profile
#заменить name_here на имя своего кошелька (придумать)
source ~/.profile
Команды кошелька:
Код:
lavad keys add $ACCOUNT_NAME
#создать новый кошелек
#запишите мнемонику!!!
lavad keys add $ACCOUNT_NAME --recover
#восстановить существующий кошелек
lavad q bank balances $(lavad keys show $ACCOUNT_NAME -a)
#проверка баланса
Создаем валидатора:
Код:
echo "export ACCOUNT_NAME=name_here" >> ~/.profile
#заменить name_here на имя своего кошелька (придумать)
echo "export YOUR_ADDRESS=$(lavad keys show -a $ACCOUNT_NAME)" >> ~/.profile
source ~/.profile
Посмотреть список кошельков:
Посмотреть свой публичный ключ:
Код:
lavad tendermint show-validator
#запишите его!!!
Кран (в случае если кран не работает - идем в дискорд):
Код:
curl -X POST \
-d '{"address": "ADDRESS", "coins": ["60000000ulava"]}' https://faucet-api.lavanet.xyz/faucet/
#заменить ADDRESS на адрес своего кошелька
#правильный ответ - пустые скобки
Проверяем синхронизацию ноды:
Код:
lavad status | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована
Когда нода синхронизирована - создаем валидатора:
Код:
lavad tx staking create-validator \
--amount="10000ulava" \
--pubkey=$(lavad --home "$HOME/.lava/") \
--moniker="NODE_MONIKER" \
--chain-id=lava-testnet-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="10000" \
--gas="auto" \
--gas-adjustment "1.5" \
--gas-prices="0.05ulava" \
--home="$HOME/.lava/" \
--from=$ACCOUNT_NAME
#заменить NODE_MONIKER на моникер своей ноды, так же можно менять количество токенов(amount)
Эксплорер сети тут
Данные о своем валидаторе:
Код:
lavad q staking validator $(lavad keys show $ACCOUNT_NAME --bech val -a)
|