메인 콘텐츠로 건너뛰기
ChainStream은 강력한 실시간 데이터 스트리밍 기능을 제공하여 개발자가 온체인 이벤트, 트랜잭션, 상태 변경을 즉시 수신할 수 있습니다. 이 문서에서는 WebSocket 연결, 구독 메커니즘, 모범 사례를 다룹니다.

연결

WebSocket 엔드포인트

인증

연결 수립 시 URL에 Access Token을 제공합니다:
SDK가 연결과 인증을 자동으로 처리합니다. subscribe 메서드를 호출하기만 하면 됩니다:
SDK는 연결 상태를 자동으로 감지하고 필요할 때 연결을 수립합니다. 수동으로 connect()를 호출할 필요가 없습니다.

연결 응답

인증 성공 시 다음과 같은 응답을 받게 됩니다:

구독 유형

ChainStream WebSocket은 다양한 데이터 구독 유형을 지원합니다:
전체 구독 유형, 파라미터, 응답 형식은 WebSocket API 레퍼런스를 참고하세요. SDK(client.stream.subscribeTokenCandles, subscribeTokenStats, subscribeTokenTrade, …)는 이러한 채널 문자열을 래핑하므로 직접 구성할 필요가 없습니다.

구독 형식 예시

구독 해제


메시지 형식

요청 메시지

Connect 메시지 (인증):
Subscribe 메시지:
Unsubscribe 메시지:

응답 메시지

구독 확인:
데이터 푸시:
오류 메시지:

하트비트

WebSocket 연결을 유지하려면 주기적인 하트비트 메시지가 필요합니다. connect 응답의 ping 필드(보통 25초)를 기준으로 이 간격 내에 하트비트를 보내세요:
지정된 시간 내(보통 ping 간격의 3배)에 메시지가 전송되지 않으면 서버가 연결을 끊습니다.

전체 예시


모범 사례

성능 최적화

필터 사용

필요한 데이터만 구독하여 대역폭을 줄이세요. CEL 표현식으로 데이터를 필터링하세요.

배치 처리

고빈도 데이터는 하나씩 처리하지 말고 배치로 처리하세요. 메시지 큐를 사용하여 버퍼링하세요.

로컬 캐싱

토큰 정보와 같은 정적 데이터를 캐시하여 반복 처리를 줄이세요.

연결 재사용

하나의 연결로 여러 채널을 구독할 수 있습니다. 여러 연결을 생성하지 마세요.

오류 처리

  1. 오류 이벤트 리스닝 — 연결 및 데이터 오류를 즉시 처리
  2. 재시도 메커니즘 구현 — 재연결 시 지수 백오프 사용
  3. 로그 기록 — 문제 해결을 위한 주요 이벤트 기록
  4. 그레이스풀 디그레이데이션 — WebSocket 사용 불가 시 폴링으로 전환

리소스 관리


관련 문서

WebSocket API 레퍼런스

전체 구독 유형 및 파라미터

가격 알림 봇

실습: 가격 모니터링 봇 만들기