Skip to main content

LaserStream WebSocket이란?

LaserStream WebSocket은 LaserStream의 WebSocket 프로토콜 변형입니다. 표준 Solana JSON-RPC 구독 메서드( accountSubscribe, programSubscribe, logsSubscribe, signatureSubscribe, slotSubscribe, …)와 함께 고급 필터링을 위한 transactionSubscribe와 같은 Helius 전용 확장을 제공합니다. 이는 동일한 통합 wss://mainnet.helius-rpc.com 엔드포인트 및 gRPC 제품과 동일한 LaserStream 백엔드에서 제공합니다. WebSockets은 지속적이고 실시간 연결을 제공합니다. 반복적으로 “무엇이 변경되었는지” 확인하는 대신, 블록체인이 무언가 발생하는 순간 즉시 알려줍니다.

실시간 업데이트

Solana 계정이 변경되거나, 거래가 발생하거나, 새로운 블록이 생성될 때 즉시 알림을 받으세요

효율적인 자원 사용

수백 개의 HTTP 요청을 폴링하는 대신 하나의 지속적 연결

낮은 지연 시간

표준 Agave RPC 기반 WebSockets보다 최대 200ms 빠르게, LaserStream에 의해 제공

Helius 확장 기능

표준 Solana 메서드를 기반으로 고급 필터링을 위한 transactionSubscribe 및 다양한 accountSubscribe

엔드포인트

WebSocket은 표준 Solana 메서드와 Helius 전용 확장 기능 모두 네트워크당 하나의 통합 엔드포인트에서 제공됩니다: Mainnet: wss://mainnet.helius-rpc.com/?api-key=<API_KEY> Devnet: wss://devnet.helius-rpc.com/?api-key=<API_KEY>

Gatekeeper (베타)

가장 빠른 WebSocket 제공을 테스트하려면 새로운 Gatekeeper (베타) 엔드포인트를 사용해 보세요: wss://beta.helius-rpc.com/?api-key=<API_KEY>

가격 및 측정

WebSocket 사용은 압축되지 않은 스트리밍 데이터 0.1MB당 2 크레딧으로 측정됩니다. 연결을 여는 데 1 크레딧이 소요됩니다. 전문 플랜에서 대량 작업량을 처리하기 위해, 데이터 추가 기능은 예측 가능한 비용으로 월별 데이터 할당량(5TB–100TB)을 제공합니다. 데이터 추가 기능은 LaserStream 및 WebSockets에 적용할 수 있습니다.
Helius 전용 메서드 transactionSubscribeaccountSubscribe (Helius 필터 포함)은 개발자, 비즈니스, 프로페셔널 플랜이 필요합니다. programSubscribe, logsSubscribesignatureSubscribe와 같은 표준 Solana 메서드는 모든 플랜에서 사용할 수 있습니다.

핵심 개념

구독 유형

지갑 잔액, 토큰 계정 또는 프로그램 데이터와 같은 특정 계정의 변경 사항을 모니터링합니다.사용 사례:
  • 지갑 잔액 추적
  • 토큰 계정 모니터링
  • 스마트 계약 상태 변경
  • NFT 소유권 업데이트
특정 프로그램이 소유한 모든 계정을 변경 사항에 대해 관찰합니다.사용 사례:
  • DEX 거래 모니터링
  • DeFi 프로토콜 추적
  • NFT 마켓플레이스 활동
  • 게임 자산 변경
특정 거래가 확인될 때 또는 거래가 특정 계정을 언급할 때 알림을 받습니다.사용 사례:
  • 결제 확인
  • 거래 상태 추적
  • 다중 서명 승인
  • 계약 실행 모니터링
블록체인 진행 및 확정성을 슬롯 수준에서 모니터링합니다.사용 사례:
  • 블록 탐색기 애플리케이션
  • 네트워크 상태 모니터링
  • 합의 추적
  • 성능 분석

확정성 수준

확정성 수준을 이해하는 것은 신뢰성 있는 애플리케이션을 위해 중요합니다:
가장 빠름 - 트랜잭션이 검증자에 의해 처리되었으나 확인되지 않음
  • 지연 시간: 약 400ms
  • 위험: 버려지거나 재정렬될 수 있음
  • 사용 사례: 실시간 UI 업데이트 (주의 필요)
확정성 수준에 대해 더 알고 싶으신가요? 자세한 블로그 게시물을 읽어보세요: Solana 확정성 수준 이해하기

사용 가능한 WebSocket 메서드

Helius는 Solana WebSocket 구독 메서드 전체 집합과 Helius 전용 확장을 지원합니다. 모든 메서드는 동일한 wss://mainnet.helius-rpc.com 엔드포인트를 공유합니다.

Helius 확장

두 가지 메서드가 Solana 표준보다 풍부한 필터링을 제공합니다:
  • transactionSubscribe — 포함/제외/필수 계정 목록, 투표/실패 플래그, 특정 서명을 사용하는 거래 구독
  • accountSubscribe — Helius는 표준 accountSubscribe 형태에 고급 필터를 추가합니다.

표준 Solana 메서드

accountSubscribe, blockSubscribe, logsSubscribe, programSubscribe, rootSubscribe, signatureSubscribe, slotSubscribe, slotsUpdatesSubscribe, voteSubscribe 및 해당 *Unsubscribe 쌍.

완전한 API 참조

18개 이상의 WebSocket 메서드 탐색. 각 메서드에는 자세한 매개변수, 응답 형식, 예제가 포함됩니다.

재연결 로직 구현 방법

WebSocket 연결은 네트워크 문제, 서버 유지 관리 또는 일시적 장애와 같은 여러 가지 이유로 해제될 수 있습니다. 프로덕션 애플리케이션에서는 신뢰성을 위해 반드시 재연결 로직을 구현해야 합니다.

연결 해제 이유

  • 인터넷 연결 문제
  • 모바일 기기의 WiFi 전환
  • 기업 방화벽 타임아웃
  • ISP 라우팅 변경
  • 계획된 유지 보수 창
  • 로드 밸런서 재시작
  • RPC 노드 업데이트
  • 일시적인 과부하 보호
  • 브라우저 탭 백그라운드 실행
  • 모바일 앱 일시 중단
  • 컴퓨터 절전/동면
  • 프로세스 충돌 또는 재시작

연결 해제 감지

재연결 전략

재연결 로직 테스트

프로덕션에 중요한 사항: 적절한 재연결 로직 구현은 프로덕션 애플리케이션에 선택 사항이 아닙니다. WebSocket 연결은 해제될 것입니다 - 계획하고 테스트하며 프로덕션에서 모니터링하세요.

문제 해결

증상: WebSocket이 초기 연결에 실패함해결책:
  • API 키가 올바르고 충분한 크레딧을 가지고 있는지 확인
  • 엔드포인트 URL 형식 확인: wss://mainnet.helius-rpc.com?api-key=YOUR_KEY
  • 포트 443에서 WebSocket 연결을 허용하는지 방화벽 확인
  • 기본 연결 확인을 위한 간단한 핑으로 테스트
증상: 연결이 몇 분마다 끊어짐해결책:
  • WebSocket은 10분 비활성 타이머가 있습니다. 연결을 유지하려면 최소 1분에 한 번씩 핑을 보내십시오 (위의 재연결 예제 및 WebSocket FAQ 참조)
  • 적절한 핑/퐁 하트비트를 구현하십시오 (위의 재연결 예제 참조)
  • 네트워크 안정성 및 기업 방화벽 설정 확인
  • 구독 수를 모니터링하세요 - 너무 많으면 불안정성을 초래할 수 있습니다
  • 연결 수명주기를 적절히 처리하는지 확인
증상: 예상되는 구독 업데이트를 받지 못함해결책:
  • 구독이 확인되었는지 확인 (응답 확인)
  • 모니터링 중인 계정/프로그램에 실제 활동이 있는지 확인
  • 연결 상태를 모니터링하세요 - 누락된 메시지는 종종 연결 해제를 나타냅니다
증상: 메시지 전달 속도가 느리거나 업데이트 지연해결책:
  • “Finalized” 대신 “Confirmed” 확정성을 사용
  • 활성 구독 수를 줄이세요
  • 메시지 처리 로직 최적화
  • 부하 분산을 위해 여러 연결 사용 고려
  • 네트워크 연결 품질 확인
증상: 애플리케이션 메모리 사용량이 시간 경과에 따라 증가함해결책:
  • 적절한 구독 정리 구현
  • 컴포넌트가 언마운트될 때 이벤트 리스너 제거
  • 메시지 로그를 주기적으로 정리
  • 구독 수를 모니터링하고 제한 적용
  • 콜백 함수에 약한 참조 사용 가능

표준 RPC에서의 마이그레이션

현재 HTTP 폴링을 사용 중인 경우, WebSocket으로 마이그레이션하는 방법은 다음과 같습니다:

향상된 기능

더 고급 기능이 필요한 애플리케이션의 경우 LaserStream gRPC를 고려하세요:

24시간 이력 재생

앱이 오프라인일 때 누락된 데이터를 보충

다중 노드 집계

여러 검증자에서 데이터를 통해 신뢰성 향상

더 높은 처리량

더 많은 구독 및 더 높은 메시지 속도 처리

기업 기능

고급 모니터링, 분석 및 데이터 파이프라인

시작하기

시작할 준비가 되셨습니까? 실용적인 예제와 단계별 구현을 위한 WebSocket 빠른 시작 가이드를 확인하세요.