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:1317
nano $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:1327
nano $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