> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Предварительно обработанные транзакции: данные Solana до выполнения без декодирования шредов

> Получайте поток транзакций Solana до выполнения, прежде чем они достигнут уровня подтверждения processed. Helius декодирует шреды — вы получаете подписанные транзакции через WebSocket.

## Обзор

Предварительно обработанные транзакции — это транзакции Solana до выполнения, передаваемые **до того, как они достигнут уровня подтверждения `processed`**. Helius объединяет несколько источников данных до выполнения — в основном шреды, декодируемые сразу по мере их поступления на валидатор, а также сигналы [предварительного подтверждения](/docs/ru/pre-confirmations/overview) — и передает их в виде единого потока без дубликатов. Вам не нужно получать необработанные пакеты шредов или поддерживать собственную инфраструктуру для их декодирования.

Транзакции из сигналов предварительного подтверждения поступают в этот поток позже, чем в специализированный продукт [Preconfirmations](/docs/ru/pre-confirmations/overview), который по-прежнему предоставляет к ним наиболее ранний доступ.

Для получения предварительно обработанных транзакций используйте [метод WebSocket `preprocessedSubscribe`](/docs/ru/preprocessed-transactions/preprocessed-subscribe) (публичная бета-версия). Он доступен на **всех платных тарифах** по цене **0,1 кредита за сообщение**.

<CardGroup cols={2}>
  <Card title="preprocessedSubscribe (WSS)" icon="tower-broadcast" href="/docs/ru/preprocessed-transactions/preprocessed-subscribe">
    Рекомендуемый способ потокового получения предварительно обработанных транзакций: фильтрация по аккаунтам, компактные двоичные данные и доступность на всех платных тарифах.
  </Card>
</CardGroup>

## Место предварительно обработанных транзакций в жизненном цикле

В архитектуре Solana транзакции проходят несколько этапов, прежде чем будут полностью обработаны:

1. **Получение шредов** → Валидатор получает шреды транзакций (фрагменты данных). ← **[Необработанные шреды (UDP)](/docs/ru/shred-delivery/raw-shreds)** передаются на этом этапе.
2. **Декодирование шредов** → Шреды декодируются в необработанные транзакции. ← **Предварительно обработанные транзакции в основном передаются на этом этапе.**
3. **Выполнение транзакции** → Среда выполнения исполняет транзакцию.
4. **Создание метаданных** → Вычисляются балансы до и после выполнения, журналы и сведения об ошибках.
5. **Подтверждение** → Транзакция достигает состояния processed/confirmed/finalized. ← **[LaserStream gRPC](/docs/ru/laserstream)** и **[LaserStream WebSocket](/docs/ru/rpc/websocket)** передают данные на этом этапе.

Подписки на данные после выполнения передают их на этапе 5 — после полного выполнения и создания метаданных. Предварительно обработанные транзакции передаются на этапе 2 — после декодирования шредов, но до завершения выполнения. Для получения еще более раннего сигнала используйте [Preconfirmations](/docs/ru/pre-confirmations/overview), который передает транзакции в потоке до их преобразования в шреды.

**Компромисс:** вы получаете данные транзакции раньше, но без метаданных выполнения, таких как изменения баланса, журналы или сведения об ошибках.

<Warning>
  **Этот поток содержит только транзакции.** Обновления состояния аккаунтов и программ
  появляются только после выполнения транзакции средой выполнения. Если вам нужны обновления
  аккаунтов или программ в реальном времени — балансы токенов, состояние кривой привязки,
  аккаунты программ — вместо этого используйте **[LaserStream gRPC](/docs/ru/laserstream) с уровнем подтверждения `processed`**.
</Warning>

## Какие данные доступны?

Предварительно обработанные транзакции содержат полную подписанную транзакцию, но не содержат метаданных выполнения:

### Доступные данные

* ✅ **Подпись транзакции** — уникальный идентификатор транзакции
* ✅ **Ключи аккаунтов** — все аккаунты, на которые ссылается транзакция
* ✅ **Инструкции** — полные данные инструкций и вызовы программ
* ✅ **Недавний хеш блока** — ориентир для срока действия транзакции
* ✅ **Подписи** — все подписи транзакции
* ✅ **Номер слота** — слот, в котором наблюдалась транзакция

### Отсутствующие данные

* ❌ **Метаданные транзакции** — изменения балансов токенов, балансы до и после выполнения, статус транзакции
* ❌ **Ошибки транзакции** — невозможно определить, завершилась ли транзакция с ошибкой
* ❌ **Внутренние инструкции** — межпрограммные вызовы (CPI) не включены
* ❌ **Сообщения журналов** — журналы программ создаются во время выполнения
* ❌ **Израсходованные вычислительные единицы** — метрики выполнения недоступны

Предварительно обработанные транзакции можно сравнить с получением «предложения» без «результата». Вы видите, что отправитель пытался сделать, но не то, что произошло в действительности.

## Гарантии доставки

Доставка выполняется по мере возможности и не гарантируется; воспроизведение исторических данных отсутствует. Транзакция в потоке — это сигнал до выполнения, а не уровень подтверждения: она может завершиться с ошибкой, быть отброшена или попасть в другую ветвь. Удаляйте дубликаты по подписи и сверяйте данные с потоком уровня processed или confirmed, если важны результаты выполнения.

Для критически важных приложений, которым требуются гарантированная доставка и полные данные, используйте [LaserStream gRPC](/docs/ru/laserstream).

## Когда использовать предварительно обработанные транзакции

Они подходят приложениям, чувствительным к задержке, которым нужны декодированные транзакции до выполнения без поддержки собственного декодера шредов:

* propAMM
* Снайперы
* Боты для копирования сделок
* Ликвидационные боты
* Арбитраж

Если важна каждая микросекунда и вы можете декодировать шреды на полной линейной скорости, используйте [необработанные шреды (UDP)](/docs/ru/shred-delivery/raw-shreds). Если вам нужен самый ранний из возможных сигналов, используйте [Preconfirmations](/docs/ru/pre-confirmations/overview).

## Цены

[`preprocessedSubscribe`](/docs/ru/preprocessed-transactions/preprocessed-subscribe) доступен на **всех платных тарифах** и тарифицируется по ставке **0,1 кредита за сообщение** — одно сообщение на каждую доставленную транзакцию. Подробнее см. в разделе [«Кредиты»](/docs/ru/billing/credits).

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Can you update preprocessed subscription filters live?">
    Нет, фильтр задается первоначальным `preprocessedSubscribe` и затем не меняется. Чтобы избежать разрыва, рекомендуем открыть второе соединение с новым фильтром, дождаться подтверждения подписки и затем переключить сервис на новый фильтр.
  </Accordion>

  <Accordion title="Is the preprocessedSubscribe concurrent subscription limit per API key or account?">
    Ограничение в 10 одновременных соединений применяется отдельно к каждому ключу API. Для каждого ключа API в проекте действует собственное ограничение в 10 соединений.
  </Accordion>
</AccordionGroup>

## Дальнейшие действия

<CardGroup cols={2}>
  <Card title="Subscribe with preprocessedSubscribe" icon="tower-broadcast" href="/docs/ru/preprocessed-transactions/preprocessed-subscribe">
    Конечная точка, фильтрация по аккаунтам, структура двоичных данных и примеры кода.
  </Card>

  <Card title="Preconfirmations" icon="bolt" href="/docs/ru/pre-confirmations/overview">
    Транзакции передаются в потоке до их преобразования в шреды — это самый ранний сигнал о транзакции.
  </Card>

  <Card title="Raw Shreds (UDP)" icon="network-wired" href="/docs/ru/shred-delivery/raw-shreds">
    Необработанные пакеты шредов через UDP. Декодирование шредов реализуете вы.
  </Card>

  <Card title="Helius Sender" icon="paper-plane" href="/docs/ru/sending-transactions/sender">
    Реагируйте на полученные данные, максимально быстро включая транзакции в блокчейн.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.