Validators DAO Обновляет клиент TypeScript Yellowstone Geyser gRPC в Solana Stream SDK. Интеграция NAPI-RS повышает производительность и стабильность высокочастотной потоковой передачи

Validators DAO Обновляет клиент TypeScript Yellowstone Geyser gRPC в Solana Stream SDK. Интеграция NAPI-RS повышает производительность и стабильность высокочастотной потоковой передачи

2026.01.08
ELSOUL LABO B.V. (штаб-квартира — Амстердам, Нидерланды; CEO: Фумитаке Кавасаки) и Validators DAO объявляют об обновлении основной версии клиента TypeScript платформы потоковой передачи Solana с открытым исходным кодом «Solana Stream SDK», позволяющей клиенту TypeScript Yellowstone Geyser gRPC использовать NAPI-RS (собственная реализация Rust).
Благодаря этому обновлению Solana Stream SDK увеличивает запас обработки и стабильность для рабочих нагрузок высокочастотной потоковой передачи, сохраняя при этом опыт разработки TypeScript. Даже в условиях пикового трафика и непрерывных всплесков событий система спроектирована таким образом, чтобы оставаться стабильной и устойчивой к сбоям. Кроме того, стартовый код был реструктурирован и теперь выходит за рамки простых примеров подключения, и теперь он организован как готовая к использованию основа, предназначенная для реальной работы и расширяемости.

Практические условия для обработки потоков реального времени в TypeScript

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

Почему однопоточное выполнение Node.js становится узким местом при пиковой нагрузке

Высокочастотная потоковая передача включает в себя непрерывный прием, обработку, фильтрацию, декодирование и выполнение нисходящей логики, причем все они выполняются одновременно. В этих условиях однопоточный путь выполнения Node.js подвержен противодавлению во время всплесков или кратковременных пиков нагрузки.
На практике это часто проявляется в увеличении задержки, отставании в обработке, удалении событий и частых повторных подключениях. Несмотря на то, что TypeScript превосходит других по скорости разработки и удобству сопровождения, основная операционная проблема заключается в том, можно ли поддерживать достаточный запас мощности в условиях пиковой потоковой передачи. Это обновление напрямую решает эту проблему.

Предыдущая и расширенная сфера интеграции NAPI-RS

Ранее в составе Solana Stream SDK NAPI-RS в основном использовался в клиенте TypeScript Shreds gRPC. В этом обновлении поддержка NAPI-RS (собственная Rust) была расширена на широко используемый клиент TypeScript Yellowstone Geyser gRPC.
Это расширение значительно увеличивает части потокового конвейера, которые могут извлечь выгоду из собственного выполнения с низкими издержками, сохраняя при этом интерфейс на основе TypeScript. Внутренние тесты показывают существенное улучшение устойчивости к противодавлению при пиковой нагрузке, при этом запас мощности обработки увеличивается примерно в четыре раза. Ключевым результатом является не сам числовой множитель, а сдвиг в сторону поведения, позволяющего избежать коллапса в пиковых условиях и которое можно рассматривать как надежную операционную основу.
По сравнению с такими альтернативами, как WebAssembly (WASM), NAPI выполняет собственный код напрямую, что обеспечивает меньшую задержку и более высокую пропускную способность. В Solana Stream SDK NAPI-RS играет центральную роль в повышении производительности потока в реальном времени, не жертвуя при этом удобством разработчика TypeScript.

Значение использования Yellowstone Geyser gRPC в TypeScript

Geyser gRPC — это основной интерфейс для получения потоков транзакций при низких задержках, обновлений учетной записи и событий слотов. Задержки или потеря данных напрямую приводят к упущенным торговым возможностям, задержке мониторинга и операционных решений, а также увеличению затрат на разработку и эксплуатацию.
Обеспечение реалистичной, устойчивой к пиковым нагрузкам работы этого основного интерфейса в TypeScript — это не просто вопрос скорости. Это снижает трения как при разработке, так и при эксплуатации, позволяя командам постоянно совершенствовать свои системы без переключения стеков или переписывания базовой логики.

Переопределение стартового кода как готового к производству

Раньше стартовый код в основном служил точкой входа для быстрого тестирования подключения. Однако в реальных условиях неизбежны такие проблемы, как отключения, повторные подключения, непрерывность потока, дублирование или потеря, фильтрация подписок и контроль пиковой нагрузки.
Если первоначальная структура слишком легкая, эти реальные требования часто добавляются позже в произвольной форме, внося структурные искажения и увеличивая затраты на долгосрочное обслуживание. Это обновление реорганизует стартовый код как основу, способную с самого начала противостоять реальным эксплуатационным требованиям.

Уточнение точек расширения посредством структурного рефакторинга

Что касается TypeScript, обязанности были четко разделены, чтобы четко обозначить точки расширения. Точка входа сведена к минимуму и сосредоточена на подключении и запуске, а логика обработки изолирована в обработчиках. Такие хуки, как onTransaction и onAccount, определяют четкие точки вставки для пользовательской логики.
Эта структура позволяет локально и предсказуемо изменять торговую логику, логику обнаружения, политики фильтрации и места назначения вывода. Определения подписок также были унифицированы в код TypeScript, а не в конфигурации на основе JSON, что улучшило читаемость и безопасность типов. Читабельные конструкции, такие как CommitmentLevel.PROCESSED, уменьшают расхождение конфигурации между кодом и поведением во время выполнения.

Эксплуатационная стабильность становится первоклассным предположением

При высокочастотной потоковой передаче одной скорости недостаточно; устойчивость не менее важна. Это обновление по-прежнему предоставляет встроенные механизмы, такие как элементы управления противодавлением (ограниченные очереди, журналирование отбрасывания), метрики для полученных, обработанных и отброшенных событий, поддержание активности соединения (пинг-понг), экспоненциальная отсрочка и восстановление разрывов на основе from_slot.
Это не дополнительные улучшения, а базовые требования для систем потоковой передачи продукции. Рассматривать стартовый код как готовый к производству означает встраивать эти предположения с самого начала, а не наслаивать их позже.

Предполагаемые пользователи и варианты использования

Это обновление предназначено для разработчиков, которые хотят использовать потоки Solana в реальном времени в производстве с использованием TypeScript, для команд, создающих системы обнаружения, торговли и мониторинга при низких задержках с помощью Yellowstone Geyser gRPC, а также для разработчиков, которые сталкиваются с проблемами, связанными с обработкой пиковой нагрузки и поведением повторного подключения. Цель состоит в том, чтобы повысить эксплуатационную жизнеспособность потоковой передачи на основе TypeScript, не жертвуя при этом присущими ей преимуществами.

Ссылки

Обновления Solana Stream SDK доступны на GitHub. Отзывы приветствуются либо на GitHub, либо через официальный Discord-сервер Validators DAO.
ERPC предоставляет инфраструктуру потоковой передачи Solana в нескольких регионах. Используя стартовый код Solana Stream SDK, разработчики могут проверять поведение непосредственно в реальных средах Geyser gRPC. Благодаря бесплатной пробной версии ERPC также можно совместно оценить SDK и инфраструктуру потоковой передачи в условиях, близких к реальным. Более подробную информацию можно найти на официальном сайте ERPC.
Официальный Discord-сервер Validators DAO: https://discord.gg/C7ZQSrCkYR Solana Stream SDK (GitHub): https://github.com/ValidatorsDAO/solana-stream Официальный сайт ERPC: https://erpc.global/