Cosmos Nodes
January 12, 2023

Lava Node Guide | Лава гайд по ноде

Требования к серверу:

4/8/100

я взяла СPХ31 хетцнере

Установка

Подготавливаем сервер:

sudo apt update && sudo apt upgrade -y

sudo apt install -y unzip  gcc make logrotate git jq lz4 sed wget curl coreutils systemd

#устанавливаем го
sudo rm -rf /usr/local/go

go_package_url="https://go.dev/dl/go1.20.5.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
git clone https://github.com/lavanet/lava

cd lava

export LAVA_BINARY=lavad

git checkout v1.2.0

make install

lavad version

Инициализация:

lavad config keyring-backend test

lavad config chain-id lava-testnet-2
lavad init "$NODE_MONIKER" --chain-id lava-testnet-2
#заменить NODE_MONIKER на моникер своей ноды
#выдаст много текста - это норм

Копируем генезис:

curl -s https://raw.githubusercontent.com/lavanet/lava-config/main/testnet-2/genesis_json/genesis.json > $HOME/.lava/config/genesis.json

Копируем адрбук:

curl -s https://snapshots-testnet.nodejumper.io/lava-testnet/addrbook.json > $HOME/.lava/config/addrbook.json

Добавляем peers и seeds и доп настройки в конфиг:

SEEDS="3a445bfdbe2d0c8ee82461633aa3af31bc2b4dc0@testnet2-seed-node.lavanet.xyz:26656,e593c7a9ca61f5616119d6beb5bd8ef5dd28d62d@testnet2-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

sed -i -e 's/broadcast-mode = ".*"/broadcast-mode = "sync"/g' $HOME/.lava/config/client.toml

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

sudo tee /etc/systemd/system/lavad.service > /dev/null << EOF

[Unit]
Description=Lava 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
curl https://snapshots-testnet.nodejumper.io/lava-testnet/lava-testnet_latest.tar.lz4 | 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

Команды кошелька:

lavad keys add wallet
#создать новый кошелек
#запишите мнемонику!!!

lavad keys add wallet --recover
#восстановить существующий кошелек

lavad q bank balances $(lavad keys show wallet -a)
#проверка баланса 

Посмотреть список кошельков:

lavad keys list

Посмотреть свой публичный ключ:

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=1000000ulava \ 
--pubkey=$(lavad tendermint show-validator) \ 
--moniker="NODE_MONIKER" \ 
--chain-id=lava-testnet-2 \ 
--commission-rate=0.10 \ 
--commission-max-rate=0.20 \ 
--commission-max-change-rate=0.01 \ 
--min-self-delegation=1 \ 
--from=wallet \ 
--gas-prices=0.1ulava \ 
--gas-adjustment=1.5 \ 
--gas=auto \ 
-y
#заменить NODE_MONIKER на моникер своей ноды

Эксплорер сети тут

Данные о своем валидаторе:

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

Обновление (v0.35.0)

sudo systemctl stop lavad

export LAVA_BINARY=lavad
cd

rm -rf lava

git clone https://github.com/lavanet/lava

cd lava

git checkout v1.0.1

make install

lavad version

Запускаем сервисный файл:

sudo systemctl start lavad
sudo journalctl -u lavad -f --no-hostname -o cat

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae

Smart Hamster Nodes Studio

YouTube канал тут!

Наша новостная группа тут!

Курс "Обучение по нодам" тут!