Lava Provider Guide (with AXELAR) - part 2 - provider setup
Требования к серверу:
я взяла на хетцнере
Гайд рассчитан на то, что на сервере больше нет космос нод! Если есть - не забудьте разобраться с портами!
Подготовка:
1. Если Вы дошли до этого гайда, значит - вы уже прошли все этапы из этого гайда
2. Берем домен, hostinger или godaddy к примеру
Настраиваем сабдомены (в разделе днс), там где закрашено - айпи сервера:
Ждем мин 10, пока днс подтянется
sudo apt update && sudo apt upgrade -y sudo apt install certbot net-tools nginx python3-certbot-nginx -y sudo certbot certonly -d <domain> -d lava.<domain> -d axl.<domain> -d axlt.<domain> #заменить <domain> на ваш домен #ответчаем 1(вариант с nginx), потом почта/у sudo certbot certificates #из вывода запоминаем Certificate Path и Private Key Path
cd /etc/nginx/sites-available/
Создаем service file для каждой сети(в каждом файле строки ssl_certificate и ssl_certificate_key совпадают с Certificate Path и Private Key Path):
sudo nano lava_server
#копируем и вставляем все, что ниже в файл
server {
listen 443 ssl http2;
server_name lava.<domain>;
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
error_log /var/log/nginx/debug.log debug;
location / {
proxy_pass http://127.0.0.1:2224;
grpc_pass 127.0.0.1:2224;
}
}sudo nano axlt_server
#копируем и вставляем все, что ниже в файл
server {
listen 443 ssl http2;
server_name axlt.<domain>;
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
error_log /var/log/nginx/debug.log debug;
location / {
proxy_pass http://127.0.0.1:2223;
grpc_pass 127.0.0.1:2223;
}
}sudo nano axl_server
#копируем и вставляем все, что ниже в файл
server {
listen 443 ssl http2;
server_name axl.<domain>;
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
error_log /var/log/nginx/debug.log debug;
location / {
proxy_pass http://127.0.0.1:2225;
grpc_pass 127.0.0.1:2225;
}
}sudo ln -s /etc/nginx/sites-available/lava_server /etc/nginx/sites-enabled/lava_server sudo ln -s /etc/nginx/sites-available/axlt_server /etc/nginx/sites-enabled/axlt_server sudo ln -s /etc/nginx/sites-available/axl_server /etc/nginx/sites-enabled/axl_server
sudo nginx -t sudo systemctl restart nginx cd
wget -O $HOME/go/bin/lavap https://github.com/lavanet/lava/releases/download/v0.35.6/lavap-v0.35.6-linux-amd64 chmod 744 $HOME/go/bin/lavap lavap version
lavap q bank balances $(lavad keys show wallet -a)
Создаем конфигурационные файлы провайдеров:
nano $HOME/.lava/config/lava-provider.yml
#вставляем в файл все, что ниже
endpoints:
- api-interface: tendermintrpc
chain-id: LAV1
network-address:
address: 0.0.0.0:2224
disable-tls: true
node-urls:
- url: ws://127.0.0.1:26657/websocket
- url: http://127.0.0.1:26657
- api-interface: grpc
chain-id: LAV1
network-address:
address: 0.0.0.0:2224
disable-tls: true
node-urls:
- url: 127.0.0.1:9090
- api-interface: rest
chain-id: LAV1
network-address:
address: 0.0.0.0:2224
disable-tls: true
node-urls:
- url: http://127.0.0.1:1317nano $HOME/.axelar_testnet/config/axlt-provider.yml
#вставляем в файл все, что ниже
endpoints:
- api-interface: tendermintrpc
chain-id: AXELART
network-address:
address: 0.0.0.0:2223
disable-tls: true
node-urls:
- url: ws://127.0.0.1:36657/websocket
- url: http://127.0.0.1:36657
- api-interface: grpc
chain-id: AXELART
network-address:
address: 0.0.0.0:2223
disable-tls: true
node-urls:
- url: 127.0.0.1:9190
- api-interface: rest
chain-id: AXELART
network-address:
address: 0.0.0.0:2223
disable-tls: true
node-urls:
- url: http://127.0.0.1:1327nano $HOME/.axelar/config/axl-provider.yml
#вставляем в файл все, что ниже
endpoints:
- api-interface: tendermintrpc
chain-id: AXELAR
network-address:
address: 0.0.0.0:2225
disable-tls: true
node-urls:
- url: ws://127.0.0.1:46657/websocket
- url: http://127.0.0.1:46657
- api-interface: grpc
chain-id: AXELAR
network-address:
address: 0.0.0.0:2225
disable-tls: true
node-urls:
- url: 127.0.0.1:9290
- api-interface: rest
chain-id: AXELAR
network-address:
address: 0.0.0.0:2225
disable-tls: true
node-urls:
- url: http://127.0.0.1:1337Заявляем о себе, как о провайдере:
Транзакция для сети лавы (заменить <moniker> на имя своего провайдера)
lavap tx pairing stake-provider "LAV1" \ "50000000000ulava" \ "lava.<domain>:443,2,tendermintrpc,rest,grpc" 2 \ --from "wallet" \ --provider-moniker "<moniker>" \ --keyring-backend "test" \ --gas="auto" \ --gas-adjustment "1.5" \ --fees 5000ulava
Транзакция для сети акселар (заменить <moniker> на имя своего провайдера)
lavap tx pairing stake-provider "AXELART" \ "50000000000ulava" \ "axlt.<domain>:443,2,tendermintrpc,rest,grpc" 2 \ --from "wallet" \ --provider-moniker "<moniker>" \ --keyring-backend "test" \ --gas="auto" \ --gas-adjustment "1.5" \ --fees 5000ulava
Транзакция для сети акселар меиннет (заменить <moniker> на имя своего провайдера)
lavap tx pairing stake-provider "AXELAR" \ "50000000000ulava" \ "axl.<domain>:443,2,tendermintrpc,rest,grpc" 2 \ --from "wallet" \ --provider-moniker "<moniker>" \ --keyring-backend "test" \ --gas="auto" \ --gas-adjustment "1.5" \ --fees 5000ulava
Создаем сервисные файлы для каждого провайдера:
sudo tee /etc/systemd/system/provider-lava.service > /dev/null <<EOF [Unit] Description=Lava Provider After=network-online.target [Service] User=$USER WorkingDirectory=/root/.lava/config ExecStart=/root/go/bin/lavap rpcprovider lava-provider.yml --geolocation 2 --from wallet --chain-id lava-testnet-2 --keyring-backend test Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
systemctl daemon-reload systemctl enable provider-lava systemctl restart provider-lava && journalctl -u provider-lava -f -o cat
sudo tee /etc/systemd/system/provider-axlt.service > /dev/null <<EOF [Unit] Description=Axelar Testnet Provider After=network-online.target [Service] User=$USER WorkingDirectory=/root/.axelar_testnet/config ExecStart=/root/go/bin/lavap rpcprovider axlt-provider.yml --geolocation 2 --from wallet --chain-id lava-testnet-2 --keyring-backend test Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
systemctl daemon-reload systemctl enable provider-axlt systemctl restart provider-axlt && journalctl -u provider-axlt -f -o cat
sudo tee /etc/systemd/system/provider-axl.service > /dev/null <<EOF [Unit] Description=Axelar Provider After=network-online.target [Service] User=$USER WorkingDirectory=/root/.axelar/config ExecStart=/root/go/bin/lavap rpcprovider axl-provider.yml --geolocation 2 --from wallet --chain-id lava-testnet-2 --keyring-backend test Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
systemctl daemon-reload systemctl enable provider-axl systemctl restart provider-axl && journalctl -u provider-axl -f -o cat
Мы настроили 3 провайдера, посмотрели логи каждого, осталось только разобраться с тем, как их мониторить
Эксплорер провайдеров тут
Обновление 35.8
systemctl stop provider-axlt
systemctl stop provider-axl
systemctl stop provider-lava
wget -O $HOME/go/bin/lavap https://github.com/lavanet/lava/releases/download/v0.35.8/lavap-v0.35.8-linux-amd64 chmod 744 $HOME/go/bin/lavap lavap version
Далее перезапускаем сервисные файлы тех провайдеров, которые у вас запущены
systemctl restart provider-lava && journalctl -u provider-lava -f -o cat
systemctl restart provider-axl && journalctl -u provider-axl -f -o cat
systemctl restart provider-axlt && journalctl -u provider-axlt -f -o cat