Перейти к содержимому
Глобальный взгляд на цифровые активыГЛОБАЛЬНЫЙ ВЗГЛЯД · МЕСТНЫЙ КОНТЕКСТ
ChainView BTC866CHAIN VIEW
Блокчейн

Хранилище узла: текущее состояние и исторические запросы

Текущее состояние содержит счета и хранилище, нужные для новых блоков.

Читать на языкеРусский简体中文繁體中文English한국어العربيةEspañol (México)Tiếng Việtไทย
Хранилище узла: текущее состояние и исторические запросы

Оригинальная тематическая иллюстрация: Оригинальная тематическая схема ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0

Разные типы данных

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

Что обещает архив

Архивный сервис поддерживает доступ к состоянию на многих прошлых высотах. Но название тарифа не отвечает за все трассировки, квитанции и сырые форматы. Уточните сети, методы, первую доступную высоту, ограничения и хранение. Возможность одного старого запроса не означает полный исторический охват. Скорость и цена тоже влияют на повторяемость большого анализа.

Pruning и версии

Политика удаления и версия клиента меняют локально сохранённый объём. Известный хеш блока не гарантирует, что RPC-провайдер хранит каждый связанный тип данных. Ошибку отсутствующей истории отличайте от неверного формата и временного лимита. Если неудачный запрос записать как нулевой баланс, статистика начнёт показывать исчезновение средств, которого не было.

Высота и реорганизация

Сохраняйте номер и хеш блока, а также политику финальности: один номер при реорганизации может соответствовать другому блоку. В учебном опыте отдельно получите текущий баланс, прежний баланс и список операций. Простая сумма видимых переводов не всегда воспроизводит состояние контракта. Перед сравнением источников согласуйте метод и блок вместо усреднения разных ответов.

Договорённость о данных

Опишите нужные типы, диапазон, частоту и срок хранения. Логируйте пропуски, повторные запросы и контрольные образцы у другого поставщика. Неизвестный интервал публикуйте как неизвестный. Храните исходный ответ отдельно от нормализованного, удалив токены доступа: при смене клиента можно будет восстановить причину расхождения, не раскрывая секреты подключения.

Источники

  1. Ethereum nodes and clients (откроется в новой вкладке)
  2. Geth archive mode (откроется в новой вкладке)