Skip to main content

개요

사전 처리된 거래는 processed 커밋 수준에 도달하기 전에 제공되는 사전 실행 Solana 거래입니다. Helius는 여러 사전 실행 소스를 집계합니다 — 주로 검증자에 도착할 때 직접 디코딩된 슈레드와 사전 확인 신호로 보완됩니다 — 이를 단일 중복 제거 스트림으로 제공하며, 수신해야 하는 원시 슈레드 패킷이나 귀하 쪽에서 작동할 디슈레딩 인프라가 없습니다. 사전 확인 신호에서 출처된 트랜잭션은 전용 사전 확인 제품보다 이 피드에 늦게 도착하며, 이는 가장 빠른 접근을 제공합니다. 사전 처리된 트랜잭션을 사용하는 방법은 preprocessedSubscribe 웹소켓 메소드 (공개 베타)입니다. 모든 유료 플랜에서 사용할 수 있으며 메시지당 0.1 크레딧이 소모됩니다.

preprocessedSubscribe (WSS)

사전 처리된 트랜잭션을 스트리밍하는 권장 방법: 계정 필터링, 압축된 바이너리 페이로드, 모든 유료 플랜 제공.

사전 처리된 트랜잭션이 라이프사이클에서 차지하는 위치

Solana의 아키텍처에서 트랜잭션은 완전히 처리되기 전에 여러 단계를 거칩니다:
  1. Shred 수신 → 벨리데이터가 트랜잭션 shred(데이터 조각)을 수신합니다. ← **원시 shred (UDP)**가 여기서 전달됩니다.
  2. Shred 디코딩 → Shred는 원시 트랜잭션으로 디코딩됩니다. ← 사전 처리된 트랜잭션은 주로 여기서 전달됩니다.
  3. 트랜잭션 실행 → 런타임에서 트랜잭션이 실행됩니다.
  4. 메타데이터 생성 → 사전/사후 잔액, 로그, 오류 정보가 계산됩니다.
  5. 커밋먼트 → 트랜잭션이 처리/확인/최종 상태에 도달합니다. ← LaserStream gRPC 및 **LaserStream WebSocket**은 여기서 전달됩니다.
사후 실행 구독은 데이터가 완전한 실행 및 메타데이터 생성 후인 단계 5에서 데이터를 제공합니다. 사전 처리된 거래는 슈레드 디코딩 이후 실행 완료 전에 단계 2 타이밍에 제공됩니다. 더 이른 신호가 필요하다면, 사전 확인 스트림은 거래가 슈레드가 되기 전에 거래를 스트리밍합니다. 트레이드오프: 트랜잭션 데이터를 더 빨리 받지만, 잔액 변화, 로그 또는 오류 정보와 같은 실행 메타데이터는 제공되지 않습니다.
이것은 트랜잭션 전용 스트림입니다. 계정 및 프로그램 상태 업데이트는 런타임에서 트랜잭션이 실행될 때까지 존재하지 않습니다. 실시간 계정 또는 프로그램 업데이트가 필요하다면 — 토큰 잔액, 본딩 곡선 상태, 프로그램 계정 — LaserStream gRPC에서 processed 커밋먼트를 사용하세요.

어떤 데이터가 제공되나요?

사전 처리된 트랜잭션은 완전한 서명된 트랜잭션을 포함하지만, 실행 메타데이터는 포함하지 않습니다:

이용 가능한 데이터

  • ✅ 트랜잭션 서명 - 고유한 트랜잭션 식별자
  • ✅ 계정 키 - 트랜잭션이 참조하는 모든 계정
  • ✅ 명령어 - 완전한 명령어 데이터 및 프로그램 호출
  • ✅ 최근 블록해시 - 트랜잭션 만료 참조
  • ✅ 서명들 - 모든 트랜잭션 서명
  • ✅ 슬롯 번호 - 트랜잭션이 관찰된 슬롯

누락된 데이터

  • ❌ 트랜잭션 메타데이터 - 토큰 잔액 변화, 사전/사후 잔액, 트랜잭션 상태
  • ❌ 트랜잭션 오류 - 트랜잭션 실패 여부를 결정할 수 없습니다
  • ❌ 내부 명령어 - 교차 프로그램 호출(CPI)이 포함되지 않습니다
  • ❌ 로그 메시지 - 프로그램 로그는 실행 중에 생성됩니다
  • ❌ 소비된 컴퓨트 유닛 - 실행 메트릭은 사용할 수 없습니다
사전 처리된 트랜잭션은 “제안서”를 받고 “결과”는 받지 못한다고 생각하세요. 발신자가 시도한 내용을 알 수 있지만 실제로 어떻게 되었는지는 모릅니다.

전달 보장

전달은 최선의 노력으로 이루어지며, 보장되지 않으며, 과거 재생이 없습니다. 스트리밍된 트랜잭션은 실행 전 신호로, 커밋 수준이 아니라 실패할 수 있거나, 누락되거나, 다른 포크에 착지할 수 있습니다. 서명으로 중복 제거하고, 실행 결과가 중요할 때는 처리된 또는 확인된 스트림과 조정하세요. 보장된 전달 및 완전한 데이터가 필요한 중요한 애플리케이션의 경우, 대신 LaserStream gRPC를 사용하세요.

사전 처리된 트랜잭션을 언제 사용해야 하나요

Shred 디코더를 운용하지 않고도 디코딩된 실행 전 트랜잭션을 원하는 지연 민감 애플리케이션:
  • propAMM
  • 스나이퍼
  • 복사 거래자
  • 청산 봇
  • 차익 거래
모든 마이크로초가 중요하고 라인 속도로 디슈레드할 수 있다면 원시 shred (UDP)를 사용하세요. 무엇보다 가장 빠른 신호가 필요하다면 사전 확인을 사용하세요.

가격

preprocessedSubscribe는 모든 유료 플랜에서 사용 가능하며 메시지당 0.1 크레딧으로 측정됩니다. 전달된 트랜잭션당 하나의 메시지를 처리합니다. 자세한 내용은 크레딧을 참조하세요.

자주 하는 질문

아니오, 필터는 초기 preprocessedSubscribe에 의해 고정됩니다. 간격을 피하려면 새 필터로 두 번째 연결을 열고, 구독 확인을 기다린 다음 서비스를 새 필터로 전환하는 것이 좋습니다.
10개의 동시 연결 제한은 API 키당 적용됩니다. 프로젝트의 각 API 키는 자체적인 10-연결 제한을 갖습니다.

다음 단계

Subscribe with preprocessedSubscribe

엔드포인트, 계정 필터링, 바이너리 페이로드 레이아웃 및 코드 예제.

Preconfirmations

거래가 슈레드가 되기 전에 스트리밍됨 — 가장 빠른 거래 신호.

Raw Shreds (UDP)

UDP를 통한 비처리 슈레드 패킷입니다. 디슈레딩은 귀하가 구현합니다.

Helius Sender

가장 빠른 거래 착지로 본 것을 실행합니다.