Skip to main content

Что такое вебхуки Solana?

Вебхуки Solana — это HTTP-уведомления в реальном времени, которые отправляются вашему приложению при возникновении событий в блокчейне. Вместо постоянного опроса блокчейна Helius отправляет обработанные данные транзакций непосредственно на вашу конечную точку всякий раз, когда кошелек переводит средства, продается NFT или срабатывает отслеживаемый тип транзакции. Используйте вебхуки для торговых ботов, аналитических панелей, процессов обеспечения соответствия требованиям и автоматизации на основе событий. Мы предлагаем удобный интерфейс, программный API и доступ через SDK для простого создания вебхуков и управления ими. Ответы на часто задаваемые вопросы см. в разделе Часто задаваемые вопросы о вебхуках. Для новых проектов, которым нужны обработанные транзакции в реальном времени, рассмотрите Parsed Streams. Этот сервис заменяет вебхуки расширенных транзакций, декодирует каждую инструкцию с помощью каталога IDL, выполняет фильтрацию на стороне сервера по программе, учетной записи и имени инструкции и тарифицируется одинаково на всех планах — 1 кредит за событие.
Helius может повторить доставку вебхука, если ваш сервер не вернет успешный ответ, поэтому вы можете получить дублирующиеся события. Подробнее о повторных попытках и обработке дубликатов см. в разделе Часто задаваемые вопросы о вебхуках.

Цены

За события вебхука взимается 1 кредит, когда Helius обрабатывает и отправляет событие на вашу конечную точку. Плата взимается независимо от того, удалось ли вашей конечной точке обработать вебхук. Изменение, добавление или удаление вебхука через API стоит 100 кредитов за запрос.

Типы вебхуков

В настоящее время мы предлагаем несколько типов вебхуков для разных задач:

Вебхуки расширенных транзакций

Предоставляют удобные для чтения обработанные данные об определенных типах транзакций (например, продажах NFT), связанных с отслеживаемыми адресами. Этот вариант идеально подходит, если вам нужны отфильтрованные данные, на основе которых можно выполнять действия.

Вебхуки необработанных транзакций

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

Вебхуки Discord

Передавайте обновления об определенных типах транзакций непосредственно в указанный канал Discord в виде форматированных сообщений. Чтобы использовать этот вариант, необходимо указать URL вебхука Discord.

Пример полезной нагрузки события

Начало работы

Webhooks Quickstart

Создайте свой первый вебхук с помощью панели управления, REST API или официального SDK для TypeScript / Rust.

Автоматическое отключение неработающих вебхуков

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

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

  • Платные планы (Dev и выше): вебхуки с долей неудачных доставок ≥ 95% за 7 дней автоматически отключаются.
  • Бесплатный план: вебхуки оцениваются за 24-часовой период с тем же порогом неудачных доставок.
Система проверяет состояние вебхуков каждые 4 часа. После отключения вебхука доставка прекращается в течение нескольких секунд.

Уведомления по электронной почте

Пользователи плана Dev и выше получают уведомление по электронной почте при автоматическом отключении вебхука.

Повторное включение отключенного вебхука

1

Fix your endpoint

Устраните проблему, вызывающую сбои доставки (например, простой сервера, неправильный URL или ошибки конечной точки).
2

Log in to the Helius Dashboard

3

Re-enable the webhook

Найдите отключенный вебхук и снова включите его.
Вебхуки также можно повторно включить программно через конечную точку API для переключения состояния вебхука.
После повторного включения для вебхука начинается 24-часовой льготный период, в течение которого он не будет снова автоматически отключен. Это даст вам время убедиться, что конечная точка работает корректно.

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

Боты

  • Когда NFT выставляется на торговой площадке X, запустите действие «Купить NFT».
  • Когда маржинальная позиция становится нестабильной, запустите действие «Ликвидация».

Мониторинг и оповещения

  • Когда программа создает определенную запись в журнале, запускается интеграция с PagerDuty.
  • Когда баланс учетной записи токена изменяется более чем на X%, используйте Dialect для отправки предупреждения.

Индексирование на основе событий

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

Уведомления и отслеживание активности

  • При переводе из кошелька X в кошелек Y отправьте уведомление в Slack или сообщение по электронной почте.

Аналитика и журналы

  • Когда происходит событие X, отправьте его в ETL-конвейер или сохраните непосредственно в Helius, чтобы отслеживать тенденции с течением времени.

Автоматизация рабочих процессов

  • Когда происходит событие X, запустите любой набор действий.