Синхронизация состояния

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

Это установки, которые мы используем в данный момент для обрезки и снимка состояния сети. Настройки обрезки: default Настройки снимка сети:

snapshot-interval = 1000
snapshot-keep-recent = 5

Если вы запускаете новую ноду, вы можете быстро получить снимок всех цепочек Sei сконфигурировав настройки синхронизации состояния до того момента, как запустите процесс seid. Ниже приведены инструкции как запустить синхронизацию состояния для вашей ноды вместе с конкретными конфигурациями для каждой сетевой среды Sei.

Конфигурация синхронизации состояния (statesync)

Установите адрес RPC, который будет использоваться для получения statesync.

Адрес RPC может отличаться в зависимости от типа цепи

Стимулирующий тестнет Sei

export RPC_ADDRESS="ec2-54-241-77-154.us-west-1.compute.amazonaws.com:26657"

Sei Devnet

Будет доступен в скором времени!

Получение информации о текущем блоке:

export CURR_HEIGHT=$(curl -s $RPC_ADDRESS/block | jq -r .result.block.header.height) && echo $CURR_HEIGHT

Получение информации о номере и хэше для снимка предыдущих блоков (1000 в случае настроек по умолчанию для среза) и их установка в TRUST_HEIGHT и TRUST_HASH соответственно:

export TRUST_HEIGHT=$(($CURR_HEIGHT-1000)) && echo $TRUST_HEIGHT
export TRUST_HASH=$(curl -s $RPC_ADDRESS/block?height=$TRUST_HEIGHT | jq -r '.result.block_id.hash') && echo $TRUST_HASH

Для обновления файла config.toml (RPC_ADDRESS, TRUST_HEIGHT и TRUST_HASH) используйте следующую команду:

sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$RPC_ADDRESS,$RPC_ADDRESS\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$TRUST_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.sei/config/config.toml

Сбросьте историю цепочки:

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

Вам также может понадобиться установить ноду в качестве постоянного пира:

Установка постоянного пира отличается от установки отдельной цепочки сети

Стимулирующий тестнет Sei

peers="c22205240014c51d9c5126c3840315cda50275fd@ec2-54-241-77-154.us-west-1.compute.amazonaws.com:26656"; \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.sei/config/config.toml

Sei Devnet

Будет доступен в скором времени!

Теперь вы можете запустить свою цепь, и она должна найти снимки и сделать их. Проделав данную операцию один раз, вам может понадобиться отключить синхронизацию состояния, чтобы избежать проблем при перезагрузке цепи после обновлений в будущем:

sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.sei/config/config.toml

Last updated