Не пропускайте ничего важного: историческое воспроизведение LaserStream позволяет восстановиться после разрывов соединения и восполнить пропущенные данные за последние 48 часов активности блокчейна.
Что такое историческое воспроизведение?
Историческое воспроизведение — это функция LaserStream, которая позволяет повторно получать недавние данные блокчейна, задав начальную точкуfromSlot. Это полезно для обработки разрывов соединения и обеспечения непрерывности данных в приложениях реального времени.
За какой период можно воспроизводить данные
Вы можете воспроизводить данные за период до ~48 часов (~691 200 слотов при текущей длительности слота Solana ~250 мс; точное количество слотов меняется вместе с длительностью слота в сети) независимо от уровня подтверждения подписки. ПередайтеfromSlot в пределах этого окна, и LaserStream будет передавать поток данных от указанной точки до настоящего времени.
Для более старых периодов возвращаются финализированные данные. LaserStream хранит в памяти слоты примерно за последние ~20 минут. Более старые данные поступают из исторического хранилища, содержащего только финализированные блоки. Поэтому при воспроизведении с fromSlot старше ~20 минут данные отражают финализированную цепочку: в этом диапазоне вы не увидите слоты из ответвлений, отброшенные слоты или обновления аккаунтов внутри слота даже при подписке processed или confirmed. Слоты за последние ~20 минут сохраняют фактическую семантику уровня подтверждения, включая ответвления и обновления аккаунтов внутри слота.
Handle Disconnections
Восстанавливайте данные, потерянные во время кратковременных разрывов соединения (до 48 часов)
Bootstrap Applications
Запускайте приложения с недавним контекстом за последние 48 часов
Analyze Recent Events
Просматривайте недавние транзакции и изменения аккаунтов
Test with Recent Data
Используйте реальные недавние данные для тестирования и разработки
Проверка доступности воспроизведения
Вызовите SubscribeReplayInfo, чтобы проверить самый ранний слот, доступный для воспроизведения. Если сохраненный слот находится за пределами окна воспроизведения, приложение может отдельно восстановить пропущенную историю или продолжить работу с более нового слота. Создайте новую подписку с выбраннымfromSlot. Доступность может измениться между запросами.
Как это работает
1
Specify Starting Point
Используйте параметр
fromSlot, чтобы задать начальную точку воспроизведения (она должна находиться в пределах последних ~48 часов — ~691 200 слотов при текущей скорости сети)2
Stream Historical Data
LaserStream передает все события, начиная с указанного вами слота
3
Catch Up to Real-Time
Поток исторических данных продолжается, пока не достигнет текущего слота
4
Continue Live Streaming
После этого поток незаметно переключается на передачу данных в реальном времени
Автоматическое переподключение: SDK LaserStream автоматически обрабатывает переподключение и воспроизведение. Дополнительный код не требуется!
matchMints, поэтому воспроизведение с фильтрацией по mint возвращает тот же набор транзакций, который был бы передан потоком данных в реальном времени.
Быстрый старт
- gRPC
Параметры конфигурации
number
обязательно
Номер слота, с которого нужно начать воспроизведение, в виде
u64. Он должен находиться в пределах окна воспроизведения (последние ~48 часов от текущего слота — ~691 200 слотов при текущей скорости сети) при любом уровне подтверждения.Пример: currentSlot - 1000Важно: если передать слот старше доступного окна, LaserStream отклонит запрос с ошибкой Operation was attempted past the valid range.Сценарии использования
Reconnection After Brief Disconnection
Reconnection After Brief Disconnection
Когда приложение повторно подключается после кратковременного разрыва соединения (менее 48 часов), используйте историческое воспроизведение, чтобы не пропустить данные.
getCurrentSlot вызывает Helius RPC; lastProcessedSlot ниже хранится в памяти — сохраняйте его удобным для приложения способом (Redis, Postgres, в файле и т. д.).Bootstrap with Recent Context
Bootstrap with Recent Context
Запустите приложение с недавним контекстом за последние несколько минут:
Testing with Recent Data
Testing with Recent Data
Используйте недавние исторические данные для тестирования (только за последние 48 часов):
Следующие шаги
LaserStream gRPC
Узнайте больше о возможностях и функциях потоковой передачи через gRPC
Get Started
Включите LaserStream в панели управления Helius и начните потоковую передачу.
SDK Documentation
Ознакомьтесь с полной документацией SDK
Contact Support
Получите помощь с реализацией