December 16, 2023

QuickSilver Mainnet Node Guide | Гайд по ноде Квиксильвер Меиннет

Установка

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

sudo apt update && sudo apt upgrade -y

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

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

go_package_url="https://go.dev/dl/go1.20.12.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/ingenuity-build/quicksilver.git

cd quicksilver

git checkout v1.2.17

make build

cd build

cp ./quicksilverd /root/go/bin/

Инициализируем проект:

quicksilverd config chain-id quicksilver-2

quicksilverd config keyring-backend file

quicksilverd init <NODE_MONIKER> --chain-id quicksilver-2
#заменить <NODE_MONIKER> на имя своей ноды

Выкачиваем генезис/адрбук:

curl -Ls https://github.com/kulikovae/quicksilver/blob/main/addrbook.json > $HOME/.quicksilverd/config/addrbook.json

curl -Ls https://github.com/kulikovae/quicksilver/blob/main/genesis.json > $HOME/.quicksilverd/config/genesis.json

Сиды/пиры/конфиги:

sed -i -e "s|^seeds *=.*|seeds = \"400f3d9e30b69e78a7fb891f60d76fa3c73f0ecc@quicksilver.rpc.kjnodes.com:11159\"|" $HOME/.quicksilverd/config/config.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.0001uqck\"|" $HOME/.quicksilverd/config/app.toml
sed -i \
  -e 's|^pruning *=.*|pruning = "custom"|' \
  -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
  -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
  -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
  $HOME/.quicksilverd/config/app.toml

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

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

[Unit]
Description=QuickSilver Mainnet Node
After=network-online.target
[Service]
User=$USER
ExecStart=/root/go/bin/quicksilverd start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
quicksilverd tendermint unsafe-reset-all --home $HOME/.quicksilverd --keep-addr-book

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

sudo systemctl daemon-reload
sudo systemctl enable quicksilverd
sudo systemctl start quicksilverd

Просмотр логов:

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

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

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

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

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

Проверяем синхронизацию ноды:

quicksilverd status | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована

Когда нода синхронизирована - создаем валидатора(заменить <NODE_MONIKER> на имя своей ноды::

babylond tx staking create-validator \
--amount 1000000uqck \
--pubkey $(quicksilverd tendermint show-validator) \
--moniker "<NODE_MONIKER>" \
--chain-id rhye-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0.0001uqck \
-y

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