Хранит ли IBC-клиент состояние для высоты доказательства

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

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

В HOST укажите TLS gRPC с reflection проверяющей сети. Замените ID клиента. Сравнивайте и revisionNumber, и revisionHeight; если нужно, продолжайте обход с ключом следующей страницы.

grpcurl -d '{"clientId":"07-tendermint-0","pagination":{"limit":"50"}}' "$HOST" ibc.core.client.v1.Query/ConsensusStateHeights

Для доказательства 3-1200 нужно состояние ревизии 3 на высоте 1200. Запись 2-1200 совпадает только числовым суффиксом. Для чтения конкретного состояния используйте ConsensusState с точными полями ревизии.

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

Само наличие высоты не подтверждает активность клиента, окончание задержек соединения или правильность пути и значения доказательства. Перед пересборкой сообщения сверьте статус клиента и точную высоту, возвращённую источником доказательства. github.com ibc-go Query API