Как нормализовать ответ HTTPS до сравнения репликами ICP

HTTP-сервер может отдать всем репликам одинаковую котировку с разным заголовком Date. Функция преобразования позволяет исключить различия, несущественные для приложения.

Определите данные для сравнения

Для котировки в формате JSON разберите ожидаемые поля, проверьте типы и закодируйте их единообразно. Удалите Date, если время заголовка не участвует в проверке. Сохраните HTTP-статус, чтобы ответ с ошибкой не прошёл как обычная котировка.

replica A: {"rate":5}, Date: 12:01:01
replica B: {"rate":5}, Date: 12:01:02
transform: keep status and canonical rate bytes

Проверьте значимое расхождение

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

Источники