Установка ноды SEI
Приветствую всех, сегодня мы расскажем о установке ноды Sei
Более подробно о проекте можно узнать на официальном сайте
Требования для ноды согласно документации следующие: 4 Cores (modern CPU’s), 32GB RAM, 1TB of storage (SSD or NVME), но для старта (что бы понять интересен проект или нет) хватит стандартной конфигурации для cosmos, 4/8/200
Как всегда обновляем наш сервер
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.0beta
go build -o build/seid ./cmd/sei-chaind
После установки переносим бинарник в рабочую папку
chmod +x ./build/seid && sudo mv ./build/seid /usr/local/bin/seid
cd $HOME
Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)
MONIKER=»your_name»
CHAIN=»sei-testnet-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
Скачиваем генезис и адрес бук
wget -qO $HOME/.sei-chain/config/genesis.json «https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-testnet-1/genesis.json»
wget -qO $HOME/.sei-chain/config/addrbook.json «https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-testnet-1/addrbook.json»
Прописываем в конфиг имя сети и вывод сохранения кошельков
seid config chain-id $CHAIN
seid config keyring-backend file
Настраиваем прунинг
pruning=»custom»
pruning_keep_recent=»100″
pruning_keep_every=»5000″
pruning_interval=»10″
sed -i -e «s/^pruning =./pruning = \»$pruning\»/» $HOME/.sei-chain/config/app.toml
sed -i -e «s/^pruning-keep-recent =./pruning-keep-recent = \»$pruning_keep_recent\»/» $HOME/.sei-chain/config/app.toml
sed -i -e «s/^pruning-keep-every =./pruning-keep-every = \»$pruning_keep_every\»/» $HOME/.sei-chain/config/app.toml
sed -i -e «s/^pruning-interval =./pruning-interval = \»$pruning_interval\»/» $HOME/.sei-chain/config/app.toml
Добавляем пиры
PEERS=»27aab76f983cd7c6558f1dfc50b919daaef14555@3.22.112.181:26656,39c4bcaded0d1d886f2788ae955f1939406f3e7d@65.108.198.54:26696,2f2804434afda302c86eb89eca27503e49a8a260@65.21.131.215:26696,6f71bcbe347069fc4df9b607f6b843226e8deb71@95.217.221.201:26656,2f047e234cb8b99fe8b9fee0059a5bc45042bc97@95.216.84.188:26656,3cd0ccddaba6c662fb5f4836456f448f13653587@212.125.21.178:45656,9db58dba3b6354177fb428caccf5167c616ad4a1@167.235.28.18:26656,38b4d78c7d6582fb170f6c19330a7e37e6964212@194.163.189.114:46656,3a0da1cda90931768a54af522639b3d2bbefcc3e@168.119.67.71:62136,54da741ec70bc68a613a7eac7a385a38b5127f0f@75.119.155.242:26657,67cd4f00052f81d4abbcc8013e300b302a3ffe6e@95.216.189.214:26656,5082637d2face9dd32c4ad7eff34d38df4244c9a@65.21.123.69:26642,4aaa57eb2ed8f839253193a893389338c081929b@80.82.215.233:26656,585727dac5df8f8662a8ff42052a9584a1f7ee95@165.22.25.77:26656″
sed -i.bak -e «s/^persistent_peers =./persistent_peers = \»$PEERS\»/» $HOME/.sei-chain/config/config.toml
Включаем prometheus
sed -i -e «s/prometheus = false/prometheus = true/» $HOME/.sei-chain/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
Если нода не может подключиться к пирам то в дискорде просим поделиться пирами, и добавляем их.
После того как нода синхронизировалась создаем кошелек (попросит ввести и повторить пароль (не от сервера, его надо задать самим))
seid keys add $WALLET_NAME
Создаем переменную для адреса кошелька (вводим заданный пароль)
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 100000000usei \
—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
После создания валидатора создадим переменную с его адресом (вводим заданный ранее пароль)
VALOPER=$(seid keys show $ACCOUNT_ADDRESS —bech val -a)
Добавляем переменную в баш профиль
echo ‘export VALOPER=’${VALOPER} >> $HOME/.bash_profile
source $HOME/.bash_profile
Проверка статуса валидатора
echo ‘export VALOPER=’${VALOPER} >> $HOME/.bash_profile
source $HOME/.bash_profile
Делегация средств с кошелька на валидатора (сумму вводите свою)
seid tx staking delegate $VALOPER 1000000usei —from $WALLET_ADDRESS —chain-id $CHAIN
Ну и если вдруг ваша нода попала в тюрьму, то выход
seid tx slashing unjail —from $WALLET_ADDRESS —chain-id $CHAIN
Дальше хвастаемся в дискорде, можно запросить роль валидатора, и ждем новых активностей.
Большое спасибо, за внимание и уделенное время
so018d