Skip to main content
LaserStream SDK를 사용하여 모든 Pump.fun 계정 업데이트 및 트랜잭션을 실시간으로 스트리밍하세요. 이 페이지에서는 시작부터 끝까지 실행할 수 있는 완전한 TypeScript 스크립트를 안내합니다: 각 트랜잭션이 도착할 때마다 출력하고, 매 분 롤링 통계(처리량, 고유 수수료 지불자, SOL로 총 수수료)를 보고하며, 자동으로 재연결합니다. 연속적인 Pump.fun 가시성이 필요한 모든 것에 유용한 시작점입니다 — 트레이딩 봇, 분석 대시보드, 알림 파이프라인 또는 상위에 더 전문적인 무언가를 구축할 수 있도록 데이터 형식을 탐색하는 것.
전제 조건: Helius API 키 (Mainnet LaserStream을 위한 Business 또는 Professional 플랜) 및 Node.js 18+. Account SubscriptionsTransaction Monitoring에 대한 이해가 도움이 되지만 필수는 아닙니다.

설정

새로운 프로젝트를 만들고 SDK + bs58 (트랜잭션 서명을 디코딩하는 데 사용)을 설치하고 API 키를 설정하세요:
이 스크립트가 실행될 위치에 가장 가까운 엔드포인트를 선택하세요 — LaserStream 지역을 참조하세요.

스크립트

이를 index.ts로 저장한 다음 npx ts-node index.ts를 실행하세요:

스크립트가 하는 일

하나의 구독, 두 개의 필터 블록

단일 subscribe(...) 호출은 두 개의 이름 있는 필터 그룹을 포함합니다:
  • accounts 필터는 데이터가 변경될 때마다 Pump.fun 프로그램(본딩 곡선, 민트 상태 등)이 소유한 모든 계정을 수신합니다.
  • transactions 필터는 Pump.fun 프로그램과 상호 작용하는 모든 트랜잭션을 수신합니다. vote: false, failed: false 플래그는 투표와 실패한 트랜잭션을 핸들러에 도달하기 전에 삭제합니다.
둘 다 단일 gRPC 스트림을 통해 도착하므로 SDK는 하나의 연결만 관리하면 됩니다. 연결이 끊어지면 SDK는 자동으로 다시 연결하여 두 필터의 업데이트를 계속 수신합니다.

원시 필드 읽기

페이로드의 몇 가지 값은 사용하기 전에 약간의 변환이 필요합니다:
  • **tx.signature**는 Buffer입니다. 이를 bs58.encode(...)로 처리하여 탐색기나 getTransaction 응답에서 볼 수 있는 base58 서명을 얻으세요.
  • **tx.meta.fee**는 u64이며 자바스크립트에서 정밀도를 잃지 않도록 문자열로 저장됩니다. 산술을 수행하기 전에 Number(...)로 감싸세요. 동일한 문자열-포-u64 관례는 여러 블록 레벨 필드에도 적용됩니다 — 전체 데이터 형식은 Slot & Block Monitoring을 참조하세요.

롤링 통계

setInterval가 60초마다 스냅샷을 출력합니다: 총 트랜잭션, 성공 대 실패, 처리량, 고유 수수료 지불자 및 SOL로 총 수수료. 스크립트 종료 전 마지막 스냅샷을 위해 Ctrl+C를 누르세요.

스크립트 확장

이것을 확장할 몇 가지 방향:
  • 명령어 디스크리미네이터 디코드하여 거래를 buy / sell / create로 라벨링합니다 — 파싱 패턴은 Decoding Transaction Data를 참조하세요.
  • 롤링 통계 영구 저장 - 메모리 Set / 카운터 대신 데이터베이스(Postgres, Redis, ClickHouse)에 저장합니다.
  • 임계값에 경고 - 큰 수수료 지불자, 갑작스러운 볼륨 급증, 새로운 본딩 곡선 계정에 대해 경고합니다.
  • 초기 시작 시 누락된 활동 재생 - SubscribeRequest에서 fromSlot을 설정하여 최대 24시간의 과거 활동을 재생합니다 — Historical Replay를 참조하세요.
  • Slot & Block Monitoring과 결합하여 블록 레벨 컨텍스트 확보합니다.

다음 단계

트랜잭션 모니터링

이 스크립트가 사용한 일반적인 트랜잭션 필터링 패턴입니다.

트랜잭션 데이터 디코딩

이진 트랜잭션 페이로드를 읽을 수 있는 Solana 트랜잭션으로 파싱합니다.

계정 구독

필터를 사용하여 특정 계정 상태 변경을 모니터링합니다.

히스토리컬 재생

시작 슬롯부터 최대 24시간의 과거 Pump.fun 활동을 재생합니다.