Перейти к основному содержанию

Обзор

OrbitFlare запускает полные архивные ноды, которые сохраняют каждый блок, транзакцию и состояние аккаунта с момента запуска Solana. Стандартные RPC-провайдеры обычно усекают старые данные для экономии места, сохраняя только последние эпохи. С OrbitFlare вы можете запросить любой слот из истории Solana.

Сценарии использования

Исторические данные блокчейна обеспечивают несколько важных рабочих процессов:
  • Восстановление событий: Подтяните пропущенные транзакции после простоя индексатора или сбоев вебхуков
  • Комплаенс: Получение записей транзакций для аудитов и требований регуляторов
  • Исследования: Анализ on-chain трендов, распределения токенов и метрик протоколов во времени
  • Приложения-обозреватели: Создание обозревателей блоков и дашбордов с полной историей

Актуальные методы RPC

Эти методы поддерживают исторические запросы на архивных нодах OrbitFlare:

Методы блоков

Методы транзакций

Методы аккаунтов

Методы слотов

Примеры

Получить блок из истории

Получить данные блока для слота 100 000 000 с помощью getBlock:

Получить время блока

Узнать, когда был произведён конкретный блок, с помощью getBlockTime:

Получить список блоков в диапазоне

Получить все подтверждённые блоки между двумя слотами с помощью getBlocks:

Получить транзакцию

Получить детали транзакции по сигнатуре с помощью getTransaction:

Получить историю транзакций для адреса

Получить сигнатуры для адреса с помощью getSignaturesForAddress:

Примеры на TypeScript

Получить исторические данные блока

Построить полную историю транзакций

Комбинируйте getSignaturesForAddress с getTransaction для построения полной истории:

Запрос блоков в временном диапазоне

Найти блоки в определённый временной период:

Советы по производительности

  1. Группируйте запросы: Используйте пакетные запросы JSON-RPC для получения нескольких блоков или транзакций в одном вызове
  2. Пагинируйте большие запросы: Метод getSignaturesForAddress возвращает до 1000 сигнатур за вызов — используйте параметр before для пагинации
  3. Параллелизуйте осторожно: Получайте транзакции параллельными партиями по 10–20 для баланса скорости и лимитов
  4. Кешируйте неизменяемые данные: Исторические блоки и транзакции никогда не меняются после подтверждения — кешируйте их локально
  5. Используйте maxSupportedTransactionVersion: Всегда включайте этот параметр для работы с версионированными транзакциями

Ограничения

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

Более быстрая история транзакций

Для эффективных запросов истории адресов используйте getTransactionsForAddress, который объединяет поиск сигнатур и получение транзакций в один вызов с возможностями фильтрации и сортировки.

Управляемое восстановление данных

Для команд, которым необходима доставка исторических данных в больших объёмах без написания собственных ETL-конвейеров, OrbitFlare предлагает услугу управляемого восстановления данных (Managed Backfills).
Управляемое восстановление данных — корпоративная услуга. Свяжитесь с командой в Discord или напишите на sales@orbitflare.com, чтобы обсудить ваши требования.

Что это даёт

Инженеры OrbitFlare извлекают и доставляют структурированные исторические данные Solana напрямую в ваше хранилище:

Что может быть доставлено

  • Все транзакции для конкретной программы, кошелька или минта токена
  • Полные данные блоков для любого диапазона слотов
  • История переводов токенов (SPL Token / Token-2022)
  • Пользовательские запросы и форматы данных под ваши требования

SLA

Когда использовать

Управляемое восстановление данных лучше всего подходит для:
  • Начального наполнения нового индексатора или аналитической базы данных
  • Разовых запросов данных для комплаенса или аудита
  • Исторических наборов данных для обучения ML/AI-моделей
  • Восстановления данных после длительного простоя
Для непрерывной потоковой передачи новых данных используйте эндпоинты gRPC-стриминга.