> ## 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 交易达到已处理确认之前流式传输预执行交易。Helius 处理碎片解码——您通过 WebSocket 接收签名的交易。

## 概述

预处理交易是预执行 Solana 交易，**在它们达到 `processed` 承诺级别之前**交付。Helius 汇聚了多个预执行来源——主要是直接在到达验证器时解码的碎片，补充以计划交易（[preconfirmation](/docs/zh/pre-confirmations/overview)）信号，并以单个去重流的形式提供，无需接收原始碎片包或在您这方操作去碎片化基础设施。

从预确认信号获取的交易比专门的 [Preconfirmations](/docs/zh/pre-confirmations/overview) 产品流中到达得晚，后者仍然是最早的访问方式。

消费预处理交易的主要方式是 [`preprocessedSubscribe` WebSocket 方法](/docs/zh/preprocessed-transactions/preprocessed-subscribe)（公开测试版）——在 **所有付费计划** 中可用，每条消息 **计费 0.1 点数**。较早的 [gRPC 交付](/docs/zh/preprocessed-transactions/grpc) 将弃用。

<CardGroup cols={2}>
  <Card title="preprocessedSubscribe (WSS)" icon="tower-broadcast" href="/docs/zh/preprocessed-transactions/preprocessed-subscribe">
    推荐流式处理预处理交易的方法：账户过滤、紧凑二进制负载、所有付费计划。
  </Card>

  <Card title="gRPC (legacy)" icon="binary" href="/docs/zh/preprocessed-transactions/grpc">
    早期基于 LaserStream 的交付。将弃用——新的集成应使用 WebSocket 方法。
  </Card>
</CardGroup>

## 预处理交易在生命周期中的位置

在 Solana 的架构中，交易在成为完全处理之前会经历几个阶段：

1. **碎片接收** → 验证器接收交易碎片（数据片段）。← **[原始碎片（UDP）](/docs/zh/shred-delivery/raw-shreds)** 在此交付。
2. **碎片解码** → 碎片解码成原始交易。← **预处理交易主要在此交付。**
3. **交易执行** → 运行时执行交易。
4. **元数据生成** → 计算预/后余额、日志和错误信息。
5. **承诺** → 交易达到已处理/确认/最终状态。← **[LaserStream gRPC](/docs/zh/laserstream)** 和 **[LaserStream WebSocket](/docs/zh/rpc/websocket)** 在此交付。

执行后的订阅在阶段 5 提供数据——在完全执行和元数据生成之后。预处理交易在阶段 2 的时间交付——在碎片解码之后，执行完成之前。对于更早的信号，[Preconfirmations](/docs/zh/pre-confirmations/overview) 在交易成为碎片之前流式传输计划交易。

**权衡：** 您更早接收交易数据，但没有执行元数据，如余额变化、日志或错误信息。

<Warning>
  **这仅是交易流。** 账户和程序状态更新在运行时执行交易之前不存在。如果您需要实时
  账户或程序更新——代币余额、绑定曲线状态、程序账户——请使用 **[LaserStream gRPC](/docs/zh/laserstream) 在 `processed` 承诺**
  代替。
</Warning>

## 可用数据是什么？

预处理交易包含完整的签名交易，但缺乏执行元数据：

### 可用数据

* ✅ **交易签名** - 唯一的交易标识符
* ✅ **账户密钥** - 交易引用的所有账户
* ✅ **指令** - 完整的指令数据和程序调用
* ✅ **最新块哈希** - 交易到期参考
* ✅ **签名** - 所有交易签名
* ✅ **插槽编号** - 观察到交易的插槽

### 缺失数据

* ❌ **交易元数据** - 代币余额变化、预/后余额、交易状态
* ❌ **交易错误** - 无法确定交易是否失败
* ❌ **内部指令** - 不包含跨程序调用 (CPI)
* ❌ **日志消息** - 程序日志在执行期间生成
* ❌ **消耗的计算单元** - 无法获得执行指标

将预处理交易视为接收“提案”而非“结果”。您看到发送者试图做什么，但不清楚实际发生了什么。

## 交付保证

交付是尽力而为，无法保证，并且没有历史重播。流式交易是预执行信号，不是承诺级别——可能失败、被丢弃或着陆在不同的分支上。通过签名去重，并在执行结果重要时与处理或确认流对账。

对于需要保证交付和完整数据的关键应用，使用 [LaserStream gRPC](/docs/zh/laserstream)。

## 何时使用预处理交易

需要解码、预执行交易而不需操作碎片解码器的低延迟应用：

* propAMMs
* 狙击手
* 复制交易者
* 清算机器人
* 套利

如果每微秒都重要，并且您可以以线速度去碎片化，请使用 [raw shreds（UDP）](/docs/zh/shred-delivery/raw-shreds)。如果您需要最早的信号，请使用 [Preconfirmations](/docs/zh/pre-confirmations/overview)。

## 定价

[`preprocessedSubscribe`](/docs/zh/preprocessed-transactions/preprocessed-subscribe) 在 **所有付费计划** 中可用，每条消息 **计费 0.1 点数**——每次交付的交易为一条消息。传统的 [gRPC 交付](/docs/zh/preprocessed-transactions/grpc) 对专业计划用户开放，未压缩的流数据每 0.1 MB 计费 2 点数。详情参见 [Credits](/docs/zh/billing/credits)。

## 常见问题

<AccordionGroup>
  <Accordion title="可以实时更新预处理订阅过滤器吗？">
    不，过滤器由初始 `preprocessedSubscribe` 确定。为了避免间隙，建议开启第二个连接新过滤器，等待其订阅确认，然后切换服务至新过滤器。
  </Accordion>

  <Accordion title="预处理订阅的并发订阅限制是每个 API 密钥还是账号？">
    每个 Helius 项目会被强制执行 10 个并发连接限制。为同一项目创建第二个 API 密钥将共享同样的 10 个连接限制。
  </Accordion>
</AccordionGroup>

## 下一步

<CardGroup cols={2}>
  <Card title="通过 preprocessedSubscribe 订阅" icon="tower-broadcast" href="/docs/zh/preprocessed-transactions/preprocessed-subscribe">
    端点、账户过滤、二进制负载布局和代码示例。
  </Card>

  <Card title="Preconfirmations" icon="bolt" href="/docs/zh/pre-confirmations/overview">
    在交易成为碎片之前流式传输的计划交易——最早的交易信号。
  </Card>

  <Card title="Raw Shreds (UDP)" icon="network-wired" href="/docs/zh/shred-delivery/raw-shreds">
    未处理的碎片数据包通过 UDP 提供。您需自行实现去碎片化。
  </Card>

  <Card title="Helius Sender" icon="paper-plane" href="/docs/zh/sending-transactions/sender">
    以最快的交易着陆速度执行您所见到的操作。
  </Card>
</CardGroup>
