BlockReq
모든 글로 돌아가기

RPC 튜토리얼

Solana Changelog 구독 도구: RPC filter 연결

노드 준비 후 endpoint를 환경 변수에 넣으면 바로 실행: Changelog 구독 filter 레시피로 logsSubscribe / program mentions를 연결하고 업그레이드 창 신호를 알림 패널로. 가입하면 매달 3M 요청 무료.

BlockReq Engineering2026년 9월 16일5분 읽기

Solana Changelog는 RPC 명세 + 클라이언트 구현을 주간으로 움직인다——logsSubscribe의 mentions / all, accountSubscribe encoding, commitment 표기는 버전마다 차이가 나기 쉽다. 이 편은 Changelog의 구독 filter 레시피를 카드화하고, 노드 준비 후 endpoint를 넣으면 바로 실행한다.

퍼블릭 엔드포인트로 돌린다 · blockreq.com 가입하면 매달 3M 요청 무료.

용도Endpoint(플레이스홀더)
HTTPSprocess.env.SOLANA_HTTPS(노드 준비 후 기입)
WSSprocess.env.SOLANA_WSS(노드 준비 후 기입)
프라이빗끝 public → {API_KEY}(키는 로컬)

체인: Solana Mainnet. Changelog와 Agave 릴리스 노트를 맞춰 filter 키를 고정. 공개 엔드포인트 · 요금 · 가입.

1. 훅: Changelog가 바꾸는 것은 filter 표기

호가창 감각온체인 / RPC 신호잡을 것
program 히트logsSubscribe + mentions지정 program 로그 줄
광범위 청취logsSubscribe + all노이즈 큼, Changelog 호환 확인용
계정 변동accountSubscribe지정 pubkey 차분
버전 차Changelog 주간 항목filter 키 / encoding / commitment

같은 계열: Agave 6주 발매 RPC 호환은 tip + 호환 카드; 이 편은 구독 filter 그 자체.

2. 이벤트: logsSubscribe mentions를 Changelog에 맞춰 고정

환경 변수에 SOLANA_WSS / PROGRAM_MENTIONS(쉼표 구분 program id). 노드가 오면 바로 기입.

Step A · logsSubscribe(mentions)

{
  "jsonrpc": "2.0", "id": 1, "method": "logsSubscribe",
  "params": [
    { "mentions": ["PROGRAM_MENTIONS"] },
    { "commitment": "confirmed" }
  ]
}
  • mentions = process.env.PROGRAM_MENTIONS(편집 가능 program id 목록. Changelog가 권하는 filter 형태에 맞춘다).
  • commitment: Changelog가 권하는 processed / confirmed를 env로 전환.
  • 로그 줄에 실패 / 성공 마커가 있으면 printState에 기록.

Step B · 알림 카드 필드

UPGRADE_WINDOW_TAGS = editable tag set(feature-gate / runtime / rpc-spec …)
hit = log matches FILTER_KEYS ∧ tag ∈ UPGRADE_WINDOW_TAGS  →  write alertState

알림 카드 필드:

{ pad: "changelog-filter", program, filterKey, upgradeTag, signature, slot, ts }

같은 signature / filterKey로 중복 제거; 슬라이딩 창으로 같은 창의 중복 푸시를 병합.

Step C · 선택 적층: 다중 program / accountSubscribe

여러 program을 병렬 mentions 구독하거나 accountSubscribe로 금고 / mint 계정을 겹친다. Changelog가 encoding을 바꾸면 demo 파라미터만 교체.

3. 브라우저 demo

브라우저는 SOLANA_WSS 플레이스홀더에 연결하고 program mentions 표 + filter 키를 붙여 Start. 노드 준비 후 endpoint를 환경 변수에 넣으면 바로 실행。

env  → SOLANA_HTTPS · SOLANA_WSS · PROGRAM_MENTIONS · FILTER_KEYS · UPGRADE_WINDOW_TAGS
WSS  → process.env.SOLANA_WSS
HTTPS→ process.env.SOLANA_HTTPS

경로: /demos1/solana-changelog-subscription-filter/ko/ · /demos1/solana-changelog-subscription-filter/en/. keyed로 바꾸기: WSS 끝 public → {API_KEY}.

실행 쿼터: blockreq.com 가입하면 매달 3M 요청 무료(퍼블릭 엔드포인트 직결).

4. 알림 리듬

  1. 구독 확립 → filterKey / mentions / commitment를 카드화.
  2. 로그 도착 → signature + 히트 program 디코드.
  3. 출고 → Changelog filter 히트 · program=… · sig=… · slot=….
  4. 중복 제거 → 같은 signature / filterKey는 한 번만.

끊긴 뒤 재연결하고 재 subscribe; 빈 창은 HTTPS getSignaturesForAddress / getTransaction으로 백필.

5. 요약 + CTA

  1. 입도: Changelog 구독 = filter 키를 버전에 맞춰 고정.
  2. 레시피: logsSubscribe mentions + 편집 가능 program 표 → 히트 카드.
  3. 바로 실행: endpoint 기입 후 브라우저를 건다; demos1 경로는 위.
  4. 실행: 공개 엔드포인트 + blockreq.com 가입하면 매달 3M 요청 무료.

다음: filter JSON 고정 → Webhook → Agave 호환 자검과 같은 화면. 문서 · 요금 · 가입.