preprocessedSubscribe는 서명된 트랜잭션이 processed 커밋 수준에 도달하기 전에 스트리밍합니다. 검증자에 도착하는 대로 오류를 복구하지 않고도 손쉽게 해독된 형태로 전송됩니다.
이 가이드는 거래 프로그램을 사전 실행 모니터링하고 피드를 중복 제거하며 서버의 백프레셔 제한 범위 내에 머무르고 처리된 데이터를 기반으로 조정하여 실행하는 방법을 설명합니다.
목표에 맞게 구독 범위 설정하기
필터링되지 않은 스트림은 없습니다:accountInclude와 accountRequired는 최소한 하나의 계정을 지정해야 합니다. 거래 모니터의 경우 거래 대상 프로그램을 포함하고, 그렇지 않으면 비용이 발생할 잡음을 제외하십시오:
accountRequired 필드에 넣으세요.
프레임 해독 및 서명별 중복 제거
알림은 73바이트의 접두사를 가진 바이너리 프레임으로 도착하고 그 다음에 bincode로 직렬화된 트랜잭션이 옵니다. 접두사에 서명이 들어 있어 본문을 해독하지 않고도 중복을 제거할 수 있습니다. 스트림은 여러 사전 실행 소스를 집계하며, 동일한 트랜잭션이 여러 번 도착할 수 있습니다:monitor.js
수신 루프를 스트림보다 빠르게 유지하기
Helius는 느린 소비자를 위해 무한히 버퍼링하지 않습니다: 서버 측에서 4,000개 이상의 메시지가 대기 중이면 연결이 종료됩니다. 그래서 위의 핸들러는 73바이트의 접두사만 읽고 대기하도록 되어 있습니다. 역직렬화 및 전략 논리는 별도의 루프에서 실행됩니다:처리된 데이터에 대한 조정
사전 처리된 트랜잭션은 발신자가 시도한 내용을 보여주며, 실제로 어떤 일이 일어났는지는 알 수 없습니다. 실행 상태, 잔액 변경 또는 로그를 포함하지 않으며 실패할 수 있고, 삭제되거나 다른 포크에 적용될 수 있습니다. 제공은 최선의 노력으로 이루어지며 과거 재생은 없습니다, 그래서:- 전략이 어떤 것을 사실로 기록하기 전에
processed또는confirmed커밋에서transactionSubscribe와 조정하십시오. - 연결이 끊어지면 즉시 재구독하고, 재생으로 빈 부분을 채울 수 없으니 그 간격을 받아들이세요.
- 트랜잭션 의도보다는 실시간 계정 상태가 필요하다면, 그것은 실행 후에만 존재하므로 LaserStream gRPC를
processed에서 사용하세요.
관련 가이드
preprocessedSubscribe 참조
전체 페이로드 레이아웃, 필터 규칙, 백프레셔, 가격 정보
사전 확인 거래
Helius가 제공하는 가장 빠른 거래 신호, 스케줄러에서 직접 제공