May 26, 2022

Установка ноды SEI

Приветствую всех, сегодня мы расскажем о установке ноды Sei

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 и ставим ее)

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

Как всегда обновляем наш сервер

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="22991efaa49dbaae857669d44cb564406a244811@18.222.18.162:26656,a37d65086e78865929ccb7388146fb93664223f7@18.144.13.149:26656,873a358b46b07c0c7c0280397a5ad27954a10633@141.95.175.196:26656,e66f9a9cab4428bfa3a7f32abbedbc684e734a48@185.193.17.129:12656,16225e262a0d38fe73073ab199f583e4a607e471@135.181.59.162:19656,2efd524f097b3fef2d26d0031fda21a72a51a765@38.242.213.174:12656,3b5ae3a1691d4ed24e67d7fe1499bc081c3ad8b0@65.108.131.189:20956,ad6d30dc6805df4f48b49d9013bbb921a5713fa6@20.211.82.153:26656,4e53c634e89f7b7ecff98e0d64a684269403dd78@38.242.235.141:26656,da5f6fcd1cd2ba8c7de8a06fb3ab56ab6a8157cf@38.242.235.142:26656,89e7d8c9eefc1c9a9b3e1faff31c67e0674f9c08@165.227.11.230:26656,94b6fa7ae5554c22e81a81e4a0928c48e41801d8@88.99.3.158:10956,b95aa07e60928fbc5ba7da9b6fe8c51798bd40be@51.250.6.195:26656,94b72206c0b0007494e20e2f9b958cd57e970d48@209.145.50.102:26656,94cf3893ded18bc6e3991d5add88449cd3f6c297@65.108.230.75:26656,82de728de0d663c03a820e570b94adac19c09adf@5.9.80.215:26656,5e1f8ccfa64dfd1c17e3fdac0dbf50f5fcc1acc3@209.126.7.113:26656,6a5113e8412f68bbeab733bb1297a0a38f884f7c@162.55.80.116:26656,7c95b2eec599369bebb8281b960589dc2857548a@164.215.102.44:26656,4bf8aa7b80f4db8a6f2abf5d757c9cab5d3f4d85@188.40.98.169:26656,9e38cf7ccb898632482a09b26ecba3f7e1a9e300@51.75.135.46:26656,641eea8d26c4b3b479b95a2cb4bd04712f3eda29@135.181.249.71:12656,8625abf6079da0e3326b0ad74c9c0e263af39654@137.184.44.146:12656,11c84300b4417af7e6c081f413003176b33b3877@51.75.135.47:26656,8a349512cf1ce179a126cb8762aea955ca1a261f@195.201.243.40:26651,6c27c768936ff8eebde94fe898b54df71f936e48@47.156.153.124:56656,7f037abdf485d02b95e50e9ba481166ddd6d6cae@185.144.99.65:26656,90916e0b118f2c00e90a40a0180b275261b547f2@65.108.72.121:26656,02be57dc6d6491bf272b823afb81f24d61243e1e@141.94.139.233:26656,ed3ec09ab24b8fcf0a36bc80de4b97f1e379d346@38.242.206.198:26656,7caa7add8d8a279e2da67a72700ab2d4540fbc08@34.97.43.89:12656,cce4c3526409ec516107db695233f9b047d52bf6@128.199.59.125:36376,3f6e68bd476a7cd3f491105da50306f8ebb74643@65.21.143.79: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

Включаем prometheus

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

Ниже приведены полезные команды:

Собрать награды и комиссионные

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)

Большое спасибо, за внимание и уделенное время

Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

С уважением, MMS_Team