НОВОЕ: Helius приобретает Light Protocol
представляем-laserstream
Блог/Обновления

Представляем LaserStream: потоковая передача данных Solana нового поколения

Старший инженер-программист, HeliusPedro Mantica в XPedro Mantica в LinkedIn
Инженер по интеграциямGuney в XGuney в LinkedIn
Чтение: 5 мин
Содержание

    LaserStream — готовая замена gRPC на выделенных нодах. Благодаря воспроизведению исторических данных за 48 часов и автоматическим переподключениям любая команда в Solana может получать потоки транзакций, слотов, блоков и изменений аккаунтов за малую часть стоимости выделенной инфраструктуры.

    Что такое LaserStream?

    LaserStream — сервис потоковой передачи нового поколения, созданный специально для разработчиков, которым нужны надежные данные Solana с низкой задержкой. Он передает ончейн-события (транзакции, слоты, блоки, аккаунты и другие данные) напрямую в ваше приложение, обеспечивая лучшие в отрасли надежность, производительность и гибкость.

    LaserStream подключается к нескольким нодам Solana, агрегирует их данные и передает их в потоковом режиме во фронтенд вашего приложения или внутреннюю базу данных вместо использования одной выделенной ноды.

    Благодаря такой простой, резервируемой и масштабируемой конфигурации вам не придется управлять выделенной инфраструктурой. Задержка станет стабильнее, а обновления не будут теряться.

    LaserStream также поддерживает воспроизведение исторических данных. Если подписка была приостановлена или отключена, вы сможете получить данные за предыдущие 48 часов.

    Как работает LaserStream

    Каждый сервер LaserStream подключается к нескольким нодам Solana, удаляет дубликаты входящих данных и хранит в буфере последние слоты, чтобы разработчики могли воспроизводить исторические данные слотов.

    Для высокой доступности, корректности данных и масштабируемости LaserStream развернут в семи регионах. В каждом регионе работает несколько серверов для резервирования. 

    Если сервер в одном из регионов выходит из строя, трафик автоматически перенаправляется на следующий доступный сервер в этом регионе.

    Поэтому ваше приложение остается подключенным к качественному потоку данных даже во время технического обслуживания серверов или непредвиденных сбоев.

    Возможности LaserStream

    LaserStream — готовая замена выделенным нодам, которая предлагает множество уникальных преимуществ для продуктов, использующих gRPC.

    Воспроизведение исторических данных и автоматические переподключения

    Одна из распространенных проблем WebSockets и gRPC — разрывы соединений и потеря данных. LaserStream решает ее с помощью автоматических переподключений и воспроизведения исторических данных.

    LaserStream позволяет воспроизводить данные слотов за последние 48 часов, поэтому при разрыве соединения критически важные данные не будут потеряны. Вам больше не нужен специальный код для переподключений или восстановления пропущенных блоков после непредвиденных сбоев.

    Высокая степень резервирования и надежность

    Для сервисов потоковой передачи данных Solana надежность и корректность данных обязательны. LaserStream использует глобально распределенный кластер серверов, каждый из которых работает с несколькими нодами Solana. Благодаря этому потоки данных не прерываются, а вы всегда получаете корректные данные.

    • Встроенная высокая доступность благодаря глобально распределенным кластерам
    • Кластеры распределены по семи регионам: Франкфурт, Амстердам, Солт-Лейк-Сити, Токио, Сингапур, Питтсбург и Ньюарк
    • В каждом регионе работает несколько серверов LaserStream 
    • Каждый сервер использует несколько нод Solana для отказоустойчивости
    • Наши балансировщики нагрузки автоматически перенаправляют клиентов, обеспечивая бесперебойное переключение при сбоях

    Никаких ручных переключений и беспокойства о потерянных данных — только непрерывная потоковая передача.

    Производительность, близкая к нативной

    Для потоковой передачи данных в реальном времени важна каждая миллисекунда: от нее может зависеть прибыльность сделки. 

    LaserStream сохраняет высокую и стабильную скорость даже в самые загруженные эпохи Solana. Многорегиональная сеть ретрансляторов постоянно отслеживает задержку в реальном времени и направляет каждую подписку по самому быстрому маршруту. Она стабильно обрабатывает десятки тысяч сообщений в секунду, удерживая колебания задержки в пределах миллисекунд.

    Если вышестоящая нода или целый регион кратковременно выходит из строя, подключение за миллисекунды переключается на следующий ретранслятор и автоматически воспроизводит пропущенные слоты за период до 48 часов. Так вы не пропустите ни одного события.

    В результате вы получаете непрерывный высокопроизводительный поток и можете сосредоточиться на стратегии, а не на доступности инфраструктуры.

    Мгновенная настройка

    Раньше трейдерам и чувствительным к задержке приложениям требовались выделенные ноды с плагинами Geyser, чтобы получать обновления в реальном времени. Но запуск выделенных нод сложен, требует времени и зависит от наличия оборудования в нужных регионах.

    LaserStream избавляет от необходимости выделять, настраивать, отслеживать и обслуживать собственные ноды для потоков gRPC. При этом он обеспечивает более высокую производительность и предлагает более удобные для разработчиков функции. 

    LaserStream использует знакомый интерфейс, полностью совместимый с Enhanced WebSockets и gRPC, поэтому легко заменяет вашу текущую конфигурацию.

    Без сложной миграции. Без нового синтаксиса.

    Просто замените существующий URL gRPC на URL LaserStream, чтобы получить максимальную производительность и надежность.

    Расширенная фильтрация

    Из-за большого объема данных Solana командам нужны комплексные и гибкие возможности фильтрации, чтобы получать только самую важную информацию. 

    LaserStream обеспечивает точность и полный контроль над данными. Легко фильтруйте их по конкретным аккаунтам, владельцам аккаунтов, статусу транзакций, метаданным блоков, слотам и другим параметрам.

    Более доступные цены

    Стоимость выделенных нод начинается с $2,900 в месяц, что может быть значительной статьей расходов для стартапов и чувствительных к затратам приложений. С LaserStream все команды на плане Helius Professional ($999 в месяц) получают доступ к производительным потокам данных в реальном времени.

    Подробнее читайте на странице планов и цен.

    Как начать работу с LaserStream

    Ниже приведено краткое руководство по подключению через gRPC с помощью нашего LaserStream SDK.

    Быстрый старт с gRPC

    Чтобы начать работу с LaserStream, выполните следующие действия:

    1. Создайте новый проект

    Код
    mkdir laserstream-grpc-demo
    cd laserstream-grpc-demo
    npm init -y

    2. Установите зависимости

    Код
    npm install helius-laserstream
    npm install --save-dev typescript ts-node
    npx tsc --init

    3. Получите ключ API

    Создайте ключ API и выберите эндпоинт на странице эндпоинтов в панели управления.

    4. Создайте скрипт подписки

    В файл с именем index.ts добавьте следующий код:

    Код
    import { subscribe, CommitmentLevel, LaserstreamConfig, SubscribeRequest } from 'helius-laserstream'
    
    async function main() {
      const subscriptionRequest: SubscribeRequest = {
        transactions: {
          client: {
            accountInclude: [‘pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA’],
            accountExclude: [],
            accountRequired: [],
            vote: false,
            failed: false
          }
        },
        commitment: CommitmentLevel.CONFIRMED,
        accounts: {},
        slots: {},
        transactionsStatus: {},
        blocks: {},
        blocksMeta: {},
        entry: {},
        accountsDataSlice: [],
        // Optionally, you can replay missed data by specifying a fromSlot:
        // fromSlot: '224339000'
        // Note: Currently, you can only go back 48 hours
      };
    
      // Replace these values with your actual Laserstream API key and endpoint
      const config: LaserstreamConfig = {
        apiKey: 'your-api-key',
        endpoint: 'your-endpoint',
      }
    
      await subscribe(config, subscriptionRequest, async (data) => {
        console.log(data);
      }, async (error) => {
        console.error(error);
      });
    }
    
    main().catch(console.error);

    5. Запустите скрипт и просмотрите результаты

    Код
    npx ts-node index.ts

    Обновления транзакций будут появляться в консоли всякий раз, когда подтвержденные транзакции затрагивают аккаунт pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.

    Чтобы воспроизвести старые данные, раскомментируйте параметр fromSlot и укажите недавний слот, с которого нужно начать.

    Дополнительные руководства и примеры доступны в документации LaserStream для gRPC.

    Доступность LaserStream

    LaserStream доступен в Devnet всем клиентам Helius на планах Developer ($49 в месяц) и выше. Клиенты на планах Professional ($999 в месяц) и выше получают доступ к LaserStream в Mainnet.

    Если вы хотите оценить LaserStream в основной сети Solana перед повышением плана или миграцией, запросите бесплатную пробную версию.

    Поддержка LaserStream

    Если у вас возникли проблемы или вопросы либо вы хотите поделиться отзывом, напишите нам в Discord или Telegram. Мы будем рады вашим сообщениям и поможем устранить любые неполадки.

    Благодарности

    Особая благодарность Kirill Fomichev. LaserStream — пользовательский форк его превосходного проекта Richat.

    Подпишитесь на Helius

    Следите за новостями разработки на Solana и получайте уведомления о наших публикациях