개요
사전 처리된 트랜잭션은processed 커밋 수준에 도달하기 전에 제공되는 실행 전 Solana 트랜잭션입니다. Helius는 주요하게는 벨리데이터에 도착할 때 바로 디코딩된 shred와 예약된 트랜잭션 (사전 확인) 신호를 통해 여러 실행 전 소스를 집계하여, 이를 단일 중복 제거된 스트림으로 전달합니다. 수신할 원시 shred 패킷이나 여기에 대해 운영할 Shred 제거 인프라는 필요하지 않습니다.
사전 확인 신호에서 출처된 트랜잭션은 전용 사전 확인 제품보다 이 피드에 늦게 도착하며, 이는 가장 빠른 접근을 제공합니다.
사전 처리된 트랜잭션을 소비하는 주요 방법은 preprocessedSubscribe WebSocket 방법입니다 (공개 베타) — 모든 유료 요금제에서도 사용 가능하며, 메시지당 0.1 크레딧이 부과됩니다. 이전 gRPC 전달은 이 방법으로 대체될 예정입니다.
preprocessedSubscribe (WSS)
사전 처리된 트랜잭션을 스트리밍하는 추천 방법입니다: 계정 필터링, 압축된 바이너리 페이로드, 모든 유료 요금제.
gRPC (레거시)
이전의 LaserStream 기반 전달. 폐기 예정 — 새로운 통합은 WebSocket 방법을 사용해야 합니다.
사전 처리된 트랜잭션이 라이프사이클에서 차지하는 위치
Solana의 아키텍처에서 트랜잭션은 완전히 처리되기 전에 여러 단계를 거칩니다:- Shred 수신 → 벨리데이터가 트랜잭션 shred(데이터 조각)을 수신합니다. ← **원시 shred (UDP)**가 여기서 전달됩니다.
- Shred 디코딩 → Shred는 원시 트랜잭션으로 디코딩됩니다. ← 사전 처리된 트랜잭션은 주로 여기서 전달됩니다.
- 트랜잭션 실행 → 런타임에서 트랜잭션이 실행됩니다.
- 메타데이터 생성 → 사전/사후 잔액, 로그, 오류 정보가 계산됩니다.
- 커밋먼트 → 트랜잭션이 처리/확인/최종 상태에 도달합니다. ← LaserStream gRPC 및 **LaserStream WebSocket**은 여기서 전달됩니다.
어떤 데이터가 제공되나요?
사전 처리된 트랜잭션은 완전한 서명된 트랜잭션을 포함하지만, 실행 메타데이터는 포함하지 않습니다:이용 가능한 데이터
- ✅ 트랜잭션 서명 - 고유한 트랜잭션 식별자
- ✅ 계정 키 - 트랜잭션이 참조하는 모든 계정
- ✅ 명령어 - 완전한 명령어 데이터 및 프로그램 호출
- ✅ 최근 블록해시 - 트랜잭션 만료 참조
- ✅ 서명들 - 모든 트랜잭션 서명
- ✅ 슬롯 번호 - 트랜잭션이 관찰된 슬롯
누락된 데이터
- ❌ 트랜잭션 메타데이터 - 토큰 잔액 변화, 사전/사후 잔액, 트랜잭션 상태
- ❌ 트랜잭션 오류 - 트랜잭션 실패 여부를 결정할 수 없습니다
- ❌ 내부 명령어 - 교차 프로그램 호출(CPI)이 포함되지 않습니다
- ❌ 로그 메시지 - 프로그램 로그는 실행 중에 생성됩니다
- ❌ 소비된 컴퓨트 유닛 - 실행 메트릭은 사용할 수 없습니다
전달 보장
전달은 최선의 노력으로 이루어지며, 보장되지 않으며, 과거 재생이 없습니다. 스트리밍된 트랜잭션은 실행 전 신호로, 커밋 수준이 아니라 실패할 수 있거나, 누락되거나, 다른 포크에 착지할 수 있습니다. 서명으로 중복 제거하고, 실행 결과가 중요할 때는 처리된 또는 확인된 스트림과 조정하세요. 보장된 전달 및 완전한 데이터가 필요한 중요한 애플리케이션의 경우, 대신 LaserStream gRPC를 사용하세요.사전 처리된 트랜잭션을 언제 사용해야 하나요
Shred 디코더를 운용하지 않고도 디코딩된 실행 전 트랜잭션을 원하는 지연 민감 애플리케이션:- propAMM
- 스나이퍼
- 복사 거래자
- 청산 봇
- 차익 거래
가격
preprocessedSubscribe은 모든 유료 요금제에서 이용 가능하며 메시지당 0.1 크레딧이 부과됩니다 — 전달된 트랜잭션당 한 메시지. 레거시 gRPC 전달은 비압축된 스트리밍 데이터 0.1MB당 2 크레딧을 Professional 요금제 구독자에게 제공합니다. 자세한 내용은 크레딧을 참조하세요.
자주 하는 질문
사전 처리된 구독 필터를 실시간으로 업데이트할 수 있나요?
사전 처리된 구독 필터를 실시간으로 업데이트할 수 있나요?
아니오, 필터는 초기
preprocessedSubscribe에 의해 고정됩니다. 간격을 피하려면 새 필터로 두 번째 연결을 열고, 구독 확인을 기다린 다음 서비스를 새 필터로 전환하는 것이 좋습니다.사전 처리된 구독의 동시 구독 제한은 API 키당인가요 계정당인가요?
사전 처리된 구독의 동시 구독 제한은 API 키당인가요 계정당인가요?
10개의 동시 연결 제한은 Helius 프로젝트별로 적용됩니다. 동일한 프로젝트에 대한 두 번째 API 키를 생성하면 같은 10-연결 제한을 공유합니다.
다음 단계
preprocessedSubscribe로 구독
엔드포인트, 계정 필터링, 바이너리 페이로드 레이아웃 및 코드 예제.
사전 확인
트랜잭션이 shred가 되기 전에 예약된 트랜잭션이 스트리밍됩니다 — 가장 빠른 트랜잭션 신호.
원시 Shreds (UDP)
UDP를 통해 비처리된 shred 패킷. 디슈레딩은 직접 구현합니다.
Helius 보낸이
가장 빠르게 트랜잭션을 착지시키며, 보이는 대로 행동합니다.