Оригинальная тематическая иллюстрация: Оригинальная тематическая схема ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0
Разные типы данных
Текущее состояние содержит счета и хранилище, нужные для новых блоков. Тела блоков и квитанции описывают прошлую активность, а быстрый запрос состояния на старой высоте требует иной доступности. Полностью проверяющий узел не обязан предоставлять весь набор архивных RPC. Начните с точного типа информации, который нужен исследованию.
Что обещает архив
Архивный сервис поддерживает доступ к состоянию на многих прошлых высотах. Но название тарифа не отвечает за все трассировки, квитанции и сырые форматы. Уточните сети, методы, первую доступную высоту, ограничения и хранение. Возможность одного старого запроса не означает полный исторический охват. Скорость и цена тоже влияют на повторяемость большого анализа.
Pruning и версии
Политика удаления и версия клиента меняют локально сохранённый объём. Известный хеш блока не гарантирует, что RPC-провайдер хранит каждый связанный тип данных. Ошибку отсутствующей истории отличайте от неверного формата и временного лимита. Если неудачный запрос записать как нулевой баланс, статистика начнёт показывать исчезновение средств, которого не было.
Высота и реорганизация
Сохраняйте номер и хеш блока, а также политику финальности: один номер при реорганизации может соответствовать другому блоку. В учебном опыте отдельно получите текущий баланс, прежний баланс и список операций. Простая сумма видимых переводов не всегда воспроизводит состояние контракта. Перед сравнением источников согласуйте метод и блок вместо усреднения разных ответов.
Договорённость о данных
Опишите нужные типы, диапазон, частоту и срок хранения. Логируйте пропуски, повторные запросы и контрольные образцы у другого поставщика. Неизвестный интервал публикуйте как неизвестный. Храните исходный ответ отдельно от нормализованного, удалив токены доступа: при смене клиента можно будет восстановить причину расхождения, не раскрывая секреты подключения.



