Установка ноды SEI - ACT 3 (Не актуально)
"Неуверен, что актуально залетать, но меня это ж никогда не останавливало."
"Короче на каком то моменте мне каписали, что меня не особо тут рады видеть и как бы мест уже нет" - more validators than maxValidators found [recovered]. Кто не успел - тот опиздал.
12.07.2022 запустили оплачиваемый тестнет, так что переустанавливаем с нуля
Более подробно о проекте можно узнать на официальном сайте
Требования для ноды согласно документации следующие: 8 Cores (modern CPU's), 32GB RAM, 1TB of storage (SSD or NVME)
19.08.2022 обновили до версии 1.1.1beta (Для установки с нуля сначала ставим версию 1.0.6, а потом как цепочка дойдет до конца обновляем, либо ищем снапшоты под 1.1.1beta и ставим ее)
Как всегда обновляем наш сервер
sudo apt update && sudo apt upgrade -y
Устанавливаем доп. пакеты
sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y
Устанавливаем go и проверяем версию
cd $HOME wget -O go1.18.1.linux-amd64.tar.gz https://golang.org/dl/go1.18.1.linux-amd64.tar.gz rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz && rm go1.18.1.linux-amd64.tar.gz echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile echo 'export GO111MODULE=on' >> $HOME/.bash_profile echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile go version
После этого скачиваем и устанавливаем бинарник
cd $HOME git clone https://github.com/sei-protocol/sei-chain.git cd sei-chain git checkout 1.0.6beta make install
После установки переносим бинарник в рабочую папку
chmod +x /root/go/bin/seid && sudo mv /root/go/bin/seid /usr/local/bin/seid cd $HOME
Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)
MONIKER="your_name" CHAIN="atlantic-1" WALLET_NAME="your_name"
Добавляем все в баш профиль
echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile source $HOME/.bash_profile
Инициализируем ноду
seid init $MONIKER --chain-id $CHAIN -o
Скачиваем генезис и адрес бук
wget -qO $HOME/.sei/config/genesis.json "https://raw.githubusercontent.com/sei-protocol/testnet/main/sei-incentivized-testnet/genesis.json" wget -qO $HOME/.sei/config/addrbook.json "https://raw.githubusercontent.com/sei-protocol/testnet/main/sei-incentivized-testnet/addrbook.json"
Добавляем сидов и пиров
SEEDS="df1f6617ff5acdc85d9daa890300a57a9d956e5e@sei-atlantic-1.seed.rhinostake.com:16660" PEERS="[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:12656,[email protected]:19656,[email protected]:12656,[email protected]:20956,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:10956,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:12656,[email protected]:12656,[email protected]:26656,[email protected]:26651,[email protected]:56656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:12656,[email protected]:36376,[email protected]:21156" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.sei/config/config.toml
Прописываем в конфиг имя сети и вывод сохранения кошельков
seid config chain-id $CHAIN seid config keyring-backend file
pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.sei/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.sei/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.sei/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.sei/config/app.toml
Включаем прометэя
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.sei/config/config.toml
Выключаем индексер
indexer="null" sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.sei/config/config.toml
Создаем сервис
tee /etc/systemd/system/seid.service > /dev/null <<EOF [Unit] Description=SEI After=network.target [Service] Type=simple User=$USER ExecStart=$(which seid) start Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Запускаем сервис
sudo systemctl daemon-reload sudo systemctl enable seid sudo systemctl restart seid
Смотрим логи
journalctl -u seid -f -o cat
Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована)
seid status 2>&1 | jq .SyncInfo
Если нода не может подключиться к пирам то в дискорде просим поделиться пирами, и добавляем их.
На высоте блока 836963 цепь остановится и надо будет обновить на версию 1.0.7beta-postfix. Если с ноля ставить, то ждать пиздец как долго.
cd $HOME sudo systemctl stop seid sudo rm -r sei-chain/ git clone https://github.com/sei-protocol/sei-chain.git cd sei-chain git checkout 1.0.7beta-postfix make install chmod +x /root/go/bin/seid && sudo mv /root/go/bin/seid /usr/local/bin/seid cd $HOME sudo systemctl restart seid && journalctl -u seid -f -o cat
На высоте блока 1862331 цепь остановится и надо будет обновить на версию 1.1.0beta
cd $HOME sudo systemctl stop seid sudo rm -r sei-chain/ git clone https://github.com/sei-protocol/sei-chain.git cd sei-chain git checkout 1.1.0beta make install chmod +x /root/go/bin/seid && sudo mv /root/go/bin/seid /usr/local/bin/seid cd $HOME sudo systemctl restart seid && journalctl -u seid -f -o cat
На высоте блока 3223245 цепь остановится и надо будет обновить на версию 1.1.1beta
cd $HOME sudo systemctl stop seid sudo rm -r sei-chain/ git clone https://github.com/sei-protocol/sei-chain.git cd sei-chain git checkout 1.1.1beta make install chmod +x /root/go/bin/seid && sudo mv /root/go/bin/seid /usr/local/bin/seid cd $HOME sudo systemctl restart seid && journalctl -u seid -f -o cat
После того как нода синхронизировалась создаем кошелек, не забываем сохранять номер кошелька и мнемоник.
seid keys add $WALLET_NAME
Если кошелек уже есть то восстановить из мнемоника
seid keys add $WALLET_NAME --recover
При необходимости можно создать еще кошельки, не забываем сохранять номер кошелька и мнемоник
seid keys add имя_нового_кошелька
Создаем переменную для адреса кошелька (вводим заданный пароль)
WALLET_ADDRESS=$(seid keys show $WALLET_NAME -a)
И добавляем переменную в баш профиль
echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
Далее нам необходимы средства на кошельке для создания валидатора, кран в дискорде
Проверка баланса на кошельке
seid query bank balances $WALLET_ADDRESS
После получения средств нам нужно сделать валидатора (Сумму вводим сами чутка меньше чем есть на кошельке, что бы хватило на комиссию )
seid tx staking create-validator \ --amount 900000usei \ --from $WALLET_NAME \ --commission-max-change-rate "0.01" \ --commission-max-rate "0.2" \ --commission-rate "0.07" \ --min-self-delegation "1" \ --pubkey $(seid tendermint show-validator) \ --moniker $MONIKER \ --chain-id $CHAIN \ --fees 2220usei
После создания валидатора создадим переменную с его адресом (вводим заданный ранее пароль)
VALOPER=$(seid keys show $WALLET_ADDRESS --bech val -a)
Добавляем переменную в баш профиль
echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
Проверка статуса валидатора
seid query staking validator $VALOPER
Делегация средств со своего кошелька на своего валидатора (сумму вводите свою)
seid tx staking delegate $VALOPER 1000000usei --from $WALLET_NAME --chain-id $CHAIN
Ну и если вдруг ваша нода попала в тюрьму, то выход
seid tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN
Полезные команды:
Перезапускаем сервис
sudo systemctl daemon-reload sudo systemctl enable seid sudo systemctl restart seid
Смотрим логи
journalctl -u seid -f -o cat
Собрать награды и комиссионные
seid tx distribution withdraw-rewards $VALOPER --from $WALLET_NAME --commission -y
Перевести монеты на другой кошелек
seid tx bank send $WALLET_NAME адрес_получателя 1000000usei -y
Что бы проголосовать за предложение объявленное в проекте (скобки убираем)
seid tx gov vote (номер голосования) (yes или no) --from $WALLET_NAME
Удалить всё к хуям, если ничего не получается
sudo systemctl stop seid && \ sudo systemctl disable seid && \ rm /etc/systemd/system/seid.service && \ sudo systemctl daemon-reload && \ cd $HOME && \ rm -rf .sei-chain sei-chain && \ rm -rf $(which seid)