May 26, 2022

Sei Network

Системные требования:

Официальные: 4 CPU 32GB RAM 1TB SSD

Для тестирования на начальном этапе: 4 CPU 8GB RAM 200GB SSD

1.1. Обновляемся

sudo apt update && sudo apt upgrade -y

1.2. Устанавливаем утилиты

sudo apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

1.3. Устанавливаем Go (копируем от начала до конца и вставляем)

ver="1.18.1" && \
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" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

2. Загружаем репозиторий Sei

cd $HOME
git clone https://github.com/sei-protocol/sei-chain.git
cd sei-chain
git checkout 1.0.2beta
make install

2.2. Смотрим версию

seid version --long

3. Инициализируем ноду. Меняем имя ноды на свое, пишем латиницей.

seid init ИМЯ_НОДЫ --chain-id sei-testnet-2

4.1. Загружаем файл генезиса. В файле Genesis указаны балансы и параметры счетов в начале сети, которые следует использовать при воспроизведении транзакций и синхронизации.

wget -O $HOME/.sei/config/genesis.json "https://raw.githubusercontent.com/sei-protocol/testnet/main/sei-testnet-2/genesis.json"

4.2. Проверяем

sha256sum ~/.sei/config/genesis.json

5. Загружаем адресную книгу. В адресной книге перечислены одноранговые узлы, к которым ваш узел может дозвониться, чтобы обнаружить другие узлы в сети.

wget -O $HOME/.sei/config/addrbook.json "https://raw.githubusercontent.com/sei-protocol/testnet/main/sei-testnet-2/addrbook.json"

6. Проверяем, что состояние валидатора на начальном этапе

cd && cat .sei/data/priv_validator_state.json

--Если состояние не так как на слайде, делаем:

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

7. Настраиваем конфигурацию ноды в рабочий режим

7.1. Изменяем config

seid config chain-id sei-testnet-2

7.2. Настройка minimum-gas-prices

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025usei\"/;" ~/.sei/config/app.toml

7.4. Добавляем peers&seeds

external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.sei/config/config.toml

peers=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.sei/config/config.toml

seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.sei/config/config.toml

7.5. Настраиваем прунинг (при желании) (копируем и вводим все сразу)

pruning="custom" && \
pruning_keep_recent="100" && \
pruning_keep_every="0" && \
pruning_interval="50" && \
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

8. Создаем файл

sudo tee /etc/systemd/system/seid.service > /dev/null <<EOF
[Unit]
Description=seid
After=network-online.target

[Service]
User=$USER
ExecStart=$(which seid) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

9. Запускаем, смотрим логи

sudo systemctl daemon-reload && \
sudo systemctl enable seid && \
sudo systemctl restart seid && sudo journalctl -u seid -f -o cat

Для ускорения процесса синхронизации скачиваем addrbook с РосНодМониторинг myself или канала в дискорд, вводим sudo systemctl stop seid, заменяем (расположен /root/.sei/config/), повторяем п.9 и ждем дальше, периодически проверяя п.10.1.

10.1. Проверяем синхронизацию. В конце должно быть "false", в противном случае ждем дальше

seid status 2>&1 | jq .SyncInfo

10.2. Проверка количества пиров

curl -s http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | split(":")[2])"' | wc -l

10.3. Обновление на 1.0.3beta

!!!На высоте 153759 необходимо обновиться!!!

Должна пройти синхронизация и блоки остановятся на указанном значении.

sudo systemctl stop seid && \
sudo rm -rf $HOME/sei-chain && \
git clone https://github.com/sei-protocol/sei-chain.git && \
cd sei-chain && \
git checkout 1.0.3beta && \
make install

seid version --long | head
# 
sudo systemctl restart seid && journalctl -u seid -f -o cat

10.4.После ждем синхронизации после установки обновления

СИНХРОНИЗАЦИЯ ПРОШЛА, БЛОКИ РАСТУТ,ДВИГАЕМСЯ ДАЛЬШЕ!

10.5. Сморим, чтобы блоки догнали значения на сайте.

10.6. обновление на 1.0.4beta

На высоте 681000 необходимо обновиться. Должна пройти синхронизация и блоки остановятся на указанном значении.

sudo systemctl stop seid && \
sudo rm -rf $HOME/sei-chain && \
git clone https://github.com/sei-protocol/sei-chain.git && \
cd sei-chain && \
git checkout 1.0.4beta && \
make install

seid version --long | head

должно быть version 1.0.4beta

sudo systemctl restart seid && journalctl -u seid -f -o cat

Далее пункты 10.4 и 10.5.

10.6. обновление на 1.0.5beta

Обновляемся на блоке 1075040 или если не выдает метрик

требуется обновление
Просит обновиться
sudo systemctl stop seid && \
sudo rm -rf $HOME/sei-chain && \
git clone https://github.com/sei-protocol/sei-chain.git && \
cd sei-chain && \
git checkout 1.0.5beta && \
make install

seid version --long | head

должна быть version 1.0.5beta

sudo systemctl restart seid && journalctl -u seid -f -o cat

логи после обновления

Далее пункты 10.4 и 10.5.

11.1. Cоздаем ИЛИ восстанавливаем кошелек для sei-testnet-2. Сохраняем вывод(адрес, мнемоника)

10.7. обновление на 1.0.6beta (блок 1217302)

sudo systemctl stop seid && cd sei-chain
git pull
git checkout 1.0.6beta
make install

seid version --long | head

sudo systemctl restart seid && journalctl -u seid -f -o cat

seid version --long | head

должна быть version 1.0.6beta

sudo systemctl restart seid && journalctl -u seid -f -o cat

логи

Далее пункты 10.4 и 10.5.

11.1. Cоздаем ИЛИ восстанавливаем кошелек для sei-testnet-2. Сохраняем вывод(адрес, мнемоника)

seid keys add ИМЯ_КОШЕЛЬКА

--Восстанавливаем кошелек

seid keys add ИМЯ_КОШЕЛЬКА --recover

11.2. Получаем тестовые монеты

curl -X POST -d '{"address": "ИМЯ_КОШЕЛЬКА", "coins": ["1000000usei"]}' http://3.22.112.181:8000

— Если не работает (1), заходим в кран вбиваем !faucet АДРЕС_КОШЕЛЬКА

--Если не работает (2), просим добрых людей в Discord или Discord (предварительно пройдя регистрацию)

11.3. Проверяем баланс

seid q bank balances АДРЕС_КОШЕЛЬКА

12.1. Настраиваем узел в качестве валидатора

seid tx staking create-validator \
--chain-id sei-testnet-2 \
--commission-rate 0.05 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.1 \
--min-self-delegation 1 \
--amount 994400usei \
--pubkey $(seid tendermint show-validator) \
--moniker ИМЯ_НОДЫ \
--from ИМЯ_КОШЕЛЬКА \
--fees 5550usei

12.2. Проверяем

seid status 2>&1 | jq .ValidatorInfo

12.3. Заходим на сайт, проверяем своего валидатора по имени или по txhash (можно посмотреть командой curl localhost:26657/status или при создании валидатора пункт 12.1.)

12.4. Отправляем ссылку на страницу валидатора из пункта 12.3. в дискорд канал validator-form-submissions

Дополнительные команды:

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

seid keys list

  • Проверка статуса

curl localhost:26657/status

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

seid tx distribution withdraw-rewards АДРЕС_ВАЛИДАТОРА --from ИМЯ_КОШЕЛЬКА --fees 5555usei --commission -y

  • Заделегировать себе в стейк еще (1 монетa - 1000000usei)

seid tx staking delegate АДРЕС_ВАЛИДАТОРА 1000000usei --from ИМЯ_КОШЕЛЬКА --fees 5555usei -y

  • Делегирование на другого валидатора

seid tx staking redelegate АДРЕС_ВАЛИДАТОРА_ИСТОЧНИК АДРЕС_ВАЛИДАТОРА_ПОЛУЧАТЕЛЬ 1000000usei --from ИМЯ_КОШЕЛЬКА --fees 5555usei -y

  • Отправить монеты на другой адрес

seid tx bank send ИМЯ_КОШЕЛЬКА АДРЕС 1000000usei --fees 5555usei -y

  • Выбраться из тюрьмы

seid tx slashing unjail --from ИМЯ_КОШЕЛЬКА --fees 5555usei -y

  • ID ноды

seid tendermint show-node-id

  • Поиск всех исходящих транзакций по адресу

seid q txs --events transfer.sender=АДРЕС 2>&1 | jq | grep txhash

  • Поиск всех входящих транзакций по адресу

seid q txs --events transfer.recipient=АДРЕС 2>&1 | jq | grep txhash

  • Проверка информации по TXHASH

seid query tx TXHASH

  • explore

https://sei.explorers.guru/validators

  • Удалить ноду

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)

При отставании блоков от сайта, ввести следующее (построчно):

 cd
 wget https://raw.githubusercontent.com/sei-protocol/testnet/main/sei-testnet-2/optimize-configs.sh
 sudo bash optimize-configs.sh ~/.sei/config/config.toml
 systemctl restart seid

Следите за Sei Network

Web Discord Github