helius-laserstream.
Предварительные требования: В этом руководстве предполагается, что вы выполнили инструкции из краткого руководства по gRPC для LaserStream и получили ключ API.
Типы мониторинга
- Slot Updates
- Block Data
- Block Metadata
Отслеживание хода достижения сетевого консенсусаОтслеживайте продвижение слотов на разных уровнях подтверждения:Данные слота включают: номер слота, родительский слот, статус подтверждения (
processed / confirmed / finalized) и сведения о лидере.Лучше всего подходит для: мониторинга состояния сети, анализа временных параметров слотов и отслеживания консенсуса.
Практические примеры
Пример 1. Мониторинг состояния сети
Отслеживайте продвижение слотов и выявляйте проблемы сети:Пример 2. Мониторинг создания блоков
Отслеживайте создание блоков и объем транзакций:Пример 3. Мониторинг отфильтрованных блоков
Отслеживайте блоки, содержащие активность определенных программ:Структуры данных
Slot Data Structure
Slot Data Structure
processed (начальный), confirmed (одобрен квалифицированным большинством голосов), finalized (необратимый).Block Metadata Structure
Block Metadata Structure
Full Block Structure
Full Block Structure
Number(...). Внутри каждой транзакции meta.fee, meta.preBalances, meta.postBalances и другие поля также представлены строками.Рекомендации по производительности
Slot Monitoring
Низкая нагрузка: очень низкое потребление пропускной способности и минимальные накладные расходы на обработку. Подходит для панелей мониторинга.
Block Metadata
Сбалансированный вариант: умеренное потребление пропускной способности и аналитика на уровне блоков без полного набора данных. Подходит для аналитических задач.
Full Blocks
Большой объем: полные данные транзакций, требующие надежной обработки. Всегда используйте вместе с фильтрами.
Filtered Blocks
Оптимизированный вариант: используйте
accountInclude и отключайте ненужные includeAccounts/includeEntries.Сценарии использования
- Network Monitoring
- Analytics & Metrics
- Application Synchronization
Отслеживайте состояние и производительность сети: временные параметры слотов, перегрузку и консенсус.
Обработка ошибок
Missing Slots
Missing Slots
Признак: Пропуски в последовательности слотов.Причины: Проблемы с сетевым подключением, простой валидатора или задержки при обработке клиентом.Решения: Отслеживайте пропуски слотов и создавайте оповещения; реализуйте логику наверстывания с помощью воспроизведения исторических данных; контролируйте состояние подключения.
High Volume
High Volume
Признак: Слишком большой объем данных блоков.Решения: Используйте метаданные блоков вместо полных блоков; применяйте фильтры аккаунтов; отключайте ненужные включения (записи, аккаунты); обрабатывайте данные асинхронно.
Timing Issues
Timing Issues
Признак: Нестабильные временные параметры слотов.Анализ: Рассчитывайте скользящие средние; отслеживайте отклонения; контролируйте показатели состояния сети; сопоставляйте их с производительностью валидаторов.
Рекомендации
Рекомендации для рабочей среды:
- Начинайте с метаданных — используйте метаданные блоков, прежде чем подписываться на полные блоки
- Применяйте фильтры — используйте
accountInclude, чтобы отбрасывать нерелевантные данные - Контролируйте временные параметры — отслеживайте продвижение слотов как ранний индикатор состояния сети
- Обрабатывайте пропуски — используйте воспроизведение исторических данных, чтобы при повторном подключении автоматически загружать пропущенные слоты
- Обрабатывайте асинхронно — не блокируйте обработку потока ресурсоемкими вычислениями
- Выбирайте уровень подтверждения в соответствии с задачей —
processedдля интерфейсов с низкой задержкой,confirmed/finalizedдля записи состояния
Следующие шаги
Transaction Monitoring
Фильтруйте транзакции по программе, аккаунту, голосу или статусу ошибки.
Stream Pump AMM Data
Практический пример: отслеживайте транзакции Pump AMM.
Decoding Transaction Data
Преобразуйте двоичные полезные нагрузки
transactionUpdate в читаемые транзакции Solana.Yellowstone protocol reference
Тот же рабочий процесс с использованием низкоуровневого протокола Yellowstone gRPC.