Хранит ли 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