Как разобрать неактивное состояние IBC Tendermint-клиента

Обе сети могут продолжать выпуск блоков, хотя конкретный IBC light client уже не способен проверять новые пакеты. Статус клиента учитывается на цепочке, где он хранится.

Проверьте каждое направление отдельно

Задайте HOST как TLS gRPC с reflection на проверяющей стороне и замените пример ID. Для обратного направления запросите другую цепочку и её собственный идентификатор клиента.

grpcurl -d '{"clientId":"07-tendermint-0"}' "$HOST" ibc.core.client.v1.Query/ClientStatus

Ответ Expired на одной стороне указывает на истечение периода доверия этого клиента. При Frozen изучите историю нарушений и восстановления. Зафиксируйте точный статус, время цепочки и ID клиента перед выбором действий.

Проверьте доступный способ восстановления

Для истёкшего или замороженного клиента обычное обновление заголовка может быть недоступно. Уточните механизм восстановления в конкретной сети и версии IBC. Даже статус Active не подтверждает, что у самого пакета ещё не истёк тайм-аут. github.com ibc-go Query API