Skip to main content
getBlockHeight RPC 메소드는 Solana 노드의 현재 블록 높이를 쿼리하는 간단한 방법입니다. 블록 높이는 제네시스 블록(슬롯 0) 이후 처리된 블록의 수를 나타냅니다. 이 메소드는 체인이 얼마나 진행되었는지 빠르게 이해하거나 특정 커밋 수준에서 최신 블록 높이를 참조하는 데 유용합니다.

일반적인 사용 사례

  • 체인의 진행 모니터링: 이 메소드를 주기적으로 호출하여 체인이 진행되는 것을 확인합니다.
  • 체인 길이 스냅샷 얻기: 특정 시점까지 처리된 총 블록 수를 결정합니다(커밋에 기반함).
  • 다른 데이터와 교차 참조: 다른 온체인 데이터나 이벤트를 분석할 때 참조점으로 블록 높이를 사용합니다.

매개변수

getBlockHeight는 선택적으로 구성 객체를 첫 번째 매개변수로 받을 수 있습니다(또는 기본값을 사용하려면 매개변수 없이 호출할 수 있습니다):
  1. config (object, optional): 다음 필드를 포함하는 구성 객체:
    • commitment (string, optional): 쿼리에 사용할 커밋 수준을 지정합니다. 기본값은 finalized입니다.
      • finalized: 노드는 최대 잠금을 달성한 클러스터의 슈퍼다수가 확인한 최신 블록을 쿼리합니다.
      • confirmed: 노드는 클러스터의 슈퍼다수가 투표한 최신 블록을 쿼리합니다.
      • processed: 노드의 최신 블록을 쿼리합니다. 블록이 완전하지 않을 수 있음을 유의하세요.
    • minContextSlot (number, optional): 요청이 평가될 수 있는 최소 슬롯. 반환된 블록 높이가 minContextSlot 이상인 슬롯에서 쿼리되었음을 보장합니다.
매개변수가 제공되지 않으면, 이 메소드는 일반적으로 finalized 커밋으로 기본 설정됩니다.

개발자 팁

  • 커밋 수준은 중요합니다: 반환된 블록 높이는 지정한 commitment 수준에 따라 달라질 수 있습니다. finalized는 가장 안정적인 높이를 제공하지만, processed는 더 현재이지만 잠재적으로 일시적인 높이를 제공할 수 있습니다.
  • 일관성을 위해 minContextSlot 사용: 추적 중인 특정 슬롯만큼 최신 상태에서 블록 높이가 쿼리되도록 보장해야 하는 경우 minContextSlot를 사용하세요.
  • 슬롯 번호가 아닙니다: 블록 높이는 슬롯 번호와 다릅니다. 슬롯은 시간의 기간이고, 모든 슬롯이 블록을 생성하지는 않습니다(이를 건너뛴 슬롯이라고 합니다). 블록 높이는 실제 생성된 블록의 수입니다.
  • 기본 체인 상태 검사: 단순하지만, getBlockHeight는 응용 프로그램이나 모니터링 시스템을 위한 기본 체인 상태 또는 동기화 검사 일부가 될 수 있습니다.

응답

JSON-RPC 응답의 result 필드는 단일 숫자입니다:
  • blockHeight (number): 지정한 커밋 수준에 따른 노드의 현재 블록 높이(u64)입니다.
예제 응답 JSON:
이 값은 제네시스 블록(슬롯 0)부터 체인의 현재 헤드까지 가장 긴 체인에 있는 블록의 수를 나타냅니다.

예제: 현재 블록 높이 가져오기

Helius Devnet RPC에서 현재 블록 높이를 가져옵니다. 참고: 아래의 예제에서 YOUR_API_KEY를 실제 Helius API 키로 교체하세요.