getBlockHeight RPC 메소드는 Solana 노드의 현재 블록 높이를 쿼리하는 간단한 방법입니다. 블록 높이는 제네시스 블록(슬롯 0) 이후 처리된 블록의 수를 나타냅니다.
이 메소드는 체인이 얼마나 진행되었는지 빠르게 이해하거나 특정 커밋 수준에서 최신 블록 높이를 참조하는 데 유용합니다.
일반적인 사용 사례
- 체인의 진행 모니터링: 이 메소드를 주기적으로 호출하여 체인이 진행되는 것을 확인합니다.
- 체인 길이 스냅샷 얻기: 특정 시점까지 처리된 총 블록 수를 결정합니다(커밋에 기반함).
- 다른 데이터와 교차 참조: 다른 온체인 데이터나 이벤트를 분석할 때 참조점으로 블록 높이를 사용합니다.
매개변수
getBlockHeight는 선택적으로 구성 객체를 첫 번째 매개변수로 받을 수 있습니다(또는 기본값을 사용하려면 매개변수 없이 호출할 수 있습니다):
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)입니다.
예제: 현재 블록 높이 가져오기
Helius Devnet RPC에서 현재 블록 높이를 가져옵니다. 참고: 아래의 예제에서YOUR_API_KEY를 실제 Helius API 키로 교체하세요.