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="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

Настраиваем 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="67cd4f00052f81d4abbcc8013e300b302a3ffe6e@95.216.189.214:26656,5082637d2face9dd32c4ad7eff34d38df4244c9a@65.21.123.69:26641,4aaa57eb2ed8f839253193a893389338c081929b@80.82.215.233:26656,38b4d78c7d6582fb170f6c19330a7e37e6964212@194.163.189.114:46656,27aab76f983cd7c6558f1dfc50b919daaef14555@3.22.112.181:26656,585727dac5df8f8662a8ff42052a9584a1f7ee95@165.22.25.77:26656,dc882e58c0c51763a12423dfcac5815ef092bc29@65.108.202.114: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="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 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