ALPHA Nodes
May 25, 2022

Sei | Testnet

Содержание

  1. Общая информация
  2. О проекте
  3. Требования к оборудованию
  4. Установка ноды
  5. Создание кошелька
  6. Ставки, делегирование и вознаграждения
  7. Проверка ноды в списке валидаторов
  8. Устранение неполадок
  9. Обновление
  10. Полезные команды
  11. Ссылки на нас

Гайд на участие в Sei Incentivized Testnet

Тестнет состоит из 4 этапов и будет длится примерно 8 недель.

Выделяют на награду 1% от общего количества токенов

👉 Регистрация на тестнет: https://forms.gle/CzBeqENRZrrXXG4x7

👉 Подробнее о тестнете тут: https://medium.com/@seinetwork/seinami-incentivized-testnet-a66be6aa6650

👉 Сайт проекта: https://www.seinetwork.io/

👉 Дискорд проекта: https://discord.gg/xZTaK4JKv5


О проекте

Sei Network — это первый блокчейн L1, ориентированный на книгу заказов. Он построен с использованием Cosmos SDK и ядра Tendermint и имеет встроенный модуль центральной книги лимитных ордеров. Децентрализованные приложения, основанные на Sei, могут создаваться поверх CLOB, а другие блокчейны на основе Cosmos могут использовать CLOB Sei в качестве общего центра ликвидности и создавать рынки для любого актива.


Требования к оборудованию

Требования к оборудованию от разработчика

  • 4 процессора; чем выше тактовая частота, тем лучше
  • 32 ГБ ОЗУ
  • Диск 1 ТБ
  • Постоянное подключение к Интернету (трафик будет минимальным во время тестнета, 10 Мбит/с будет достаточно - для майнета ожидается не менее 100 Мбит/с)

Оптимальные требование к оборудованию

  • 4x процессора; чем выше тактовая частота, тем лучше
  • 8 ГБ ОЗУ
  • 200 ГБ памяти (SSD или NVME)
  • Постоянное подключение к Интернету (трафик будет минимальным во время тестнета, 10 Мбит/с будет достаточно - для майнета ожидается не менее 100 Мбит/с)

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

Вариант 1 (Автоматическая установка)

Для полностью автоматической установки ноды воспользуйтесь нашим скриптом, Вам будет предложено ввести имя узла валидатора (moniker - который указывали при регистрации в форме для участия в тестнете)

curl https://raw.githubusercontent.com/agonyp/Scripts-ALPHA-Noderunning/main/install-sui.sh | bash

После выполнения скрипта переходите к созданию кошелька

Вариант 2 (Ручная установка)

Создаем переменную с названием ноды (НАЗВАНИЕ НОДЫ заменить на moniker который указывали при регистрации)

NODENAME=НАЗВАНИЕ_НОДЫ

Сохраняем и импортируем переменные в систему

echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
echo "export WALLET=wallet" >> $HOME/.bash_profile
echo "export CHAIN_ID=sei-atlantic-1" >> $HOME/.bash_profile
source $HOME/.bash_profile

Обновляем на сервере

sudo apt update && sudo apt upgrade -y

Устанавливаем пакеты необходимые нам для установки ноды

sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

Устанавливаем GO

ver="1.18.2"
cd $HOME
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
source ~/.bash_profile
go version

Качаем и компилируем ноду

cd $HOME
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain
git checkout 1.0.7beta-postfix
go build -o build/seid ./cmd/sei-chaind
chmod +x ./build/seid && sudo mv ./build/seid /usr/local/bin/seid

Конфигурируем и инициализируем ноду

seid config chain-id $CHAIN_ID
seid config keyring-backend file
seid init $NODENAME --chain-id $CHAIN_ID

Качаем файл генезиса и addrbook

wget -qO $HOME/.sei/config/genesis.json "https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-testnet-2/genesis.json"
wget -qO $HOME/.sei/config/addrbook.json "https://raw.githubusercontent.com/agonyp/Scripts-ALPHA-Noderunning/main/utilities/sei-addrbook.json"

Задаем минимальный gas price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0usei\"/" $HOME/.sei/config/app.toml

Задаем сидов и пиров

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

Настраиваем pruning

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

Сбрасываем данные цепи

seid unsafe-reset-all

Создаем сервис

tee /etc/systemd/system/seid.service > /dev/null <<EOF
[Unit]
Description=seid
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

Создание кошелька

Импортируем системные переменные

source ~/.bash_profile

Создание нового кошелька

seid keys add $WALLET

Восстановление кошелька по seed фразе (опционально)

seid keys add $WALLET --recover

Посмотреть список кошельков

seid keys list 

Добавляем адрес кошелька

WALLET_ADDRESS=$(seid keys show $WALLET -a)

Добавляем valoper адрес

VALOPER_ADDRESS=$(seid keys show $WALLET --bech val -a)

Импортируем переменные в систему

echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export VALOPER_ADDRESS='${VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

Перед запросом монет из крана, убедитесь что нода синхронизирована

Команда для проверки синхронизации (False - синхронизирована)

curl -s localhost:26657/status | jq .result.sync_info

Запрашиваем монеты из крана в дискорде проекта, канал #atlantic-1-faucet (Монеты придут на баланс после синхронизации ноды)


Проверяем баланс кошелька

seid query bank balances $WALLET_ADDRESS

Создаем валидатора

seid tx staking create-validator \
  --amount 1000000usei \
  --from $WALLET \
  --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 $NODENAME \
  --chain-id $CHAIN_ID

Получение роли в Discord

После создания валидатора, переходим в explorer, находим себя в списке активных\неактивных валидаторов и делаем скриншот, который скидываем в ветку general-chat и просим роль Sei Validators.


Ставки, делегирование и вознаграждения

Делегировать ставку (10000000usei сумма делегирования, меняем на желаемое)

seid tx staking delegate $VALOPER_ADDRESS 10000000usei --from=$WALLET --chain-id=$CHAIN_ID

Переделегировать стейк от валидатора к другому валидатору

seid tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 10000000usei --from=$WALLET --chain-id=$CHAIN_ID --gas=auto

Вывести все награды

seid tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$CHAIN_ID --gas=auto

Вывод вознаграждений с комиссией

seid tx distribution withdraw-rewards $VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$CHAIN_ID

Проверка ноды в списке валидаторов

Есть возможность проверить себя в списке по ссылке на explorer

https://sei.explorers.guru/validators

Получить список валидаторов

seid q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl

Устранение неполадок

Если у вас не синхронизируется нода, мало пиров, нет коннекта, используйте статичные пиры. В строке команды то что находиться в скобках, необходимо поменять на актуальные пиры из офф Discord проекта.

PEERS="[email protected]:26656,[email protected]:26641,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
sed -i.bak -e "s/^persistent_peers =./persistent_peers = "$PEERS"/" $HOME/.sei/config/config.toml

Обновление

Для обновления воспользуйтесь одним из скриптов на выбор

curl https://raw.githubusercontent.com/agonyp/Scripts-ALPHA-Noderunning/main/sei-update.sh | bash

Или этот по очереди:

sudo systemctl stop seid
sudo rm /usr/local/bin/seid
cd sei-chain/
git fetch --tags -f
git checkout 1.0.7beta-postfix
make build

chmod +x ./build/seid && sudo mv ./build/seid /usr/local/bin/seid

curl https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-incentivized-testnet/genesis.json > ~/.sei/config/genesis.json

curl https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-incentivized-testnet/addrbook.json > ~/.sei/config/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 atlantic-1

seid tendermint unsafe-reset-all --home $HOME/.sei

sudo systemctl restart seid

Полезные команды

Проверить логов

sei_logs
journalctl -fu seid -o cat

Команда для проверки синхронизации

curl -s localhost:26657/status | jq .result.sync_info

Запрос токенов из крана

curl -X POST -d '{"address": "'"$WALLET_ADDRESS"'", "coins": ["1000000usei"]}' http://3.22.112.181:8000

Проверка баланса кошелька

seid query bank balances $WALLET_ADDRESS

Получить в настоящее время подключенный список пиров с идентификаторами

curl -sS http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'

Остановить службу

systemctl stop seid

Запустить службу

systemctl start seid

Перезапустить службу

systemctl restart seid

Удалить ноду

sudo systemctl stop seid
rm -rf ~/.sei
rm -rf ~/sei-chain
sudo systemctl disable seid
rm /usr/local/bin/seid

Ссылки на нас

Официальный сайт | https://www.alphaproteam.com/

Наш Discord | https://discord.gg/alphateam

Наш Telegram | http://t.me/alphateampublic

Наш Twitter | https://twitter.com/AlphaTeamInfo