Skip to main content
getBlockProduction RPC 메서드는 현재 에포크 또는 지정된 슬롯 범위에서 블록 생산에 대한 정보를 제공합니다. 이는 모든 검증인에 대한 데이터 또는 특정 검증인 식별자에 대한 데이터를 검색하는 데 사용할 수 있습니다. 이는 검증인 성능을 모니터링하고 네트워크의 블록 생산 패턴을 이해하는 데 유용합니다.

일반적인 사용 사례

  • 검증인 성능 모니터링: 특정 검증인의 생성 블록 수와 리더 슬롯을 추적합니다.
  • 에포크 성능 분석: 현재 또는 과거 에포크에서 모든 검증인의 블록 생산 개요를 얻습니다.
  • 누락된 슬롯 식별: 검증인이 할당된 리더 슬롯을 놓치고 있는지 확인합니다.
  • 네트워크 상태 점검: 전체 블록 생산 효율성에 대한 데이터를 수집합니다.

요청 매개변수

getBlockProduction 메서드는 다음 매개변수를 가진 선택적 구성 객체를 허용합니다:
  1. commitment (string, 선택 사항): 쿼리에 사용할 커밋 수준을 지정합니다. 생략하면 노드의 기본 커밋이 사용됩니다.
  2. range (object, 선택 사항): 쿼리할 슬롯 범위를 정의합니다.
    • firstSlot (u64): 블록 생산 정보를 가져올 첫 번째 슬롯(포함).
    • lastSlot (u64, 선택 사항): 블록 생산 정보를 가져올 마지막 슬롯(포함). 생략하면 현재 슬롯까지의 현재 에포크의 블록 생산이 반환됩니다.
  3. identity (string, 선택 사항): 검증인 식별자의 base58로 인코딩된 공개 키. 제공된 경우, 응답에는 이 특정 검증인에 대한 블록 생산 정보만 포함됩니다. 생략되면 지정된 범위(또는 현재 에포크)의 모든 검증인 정보가 반환됩니다.
참고: identity 또는 range.firstSlot 중 하나는 제공되어야 합니다. identity가 제공되지 않으면 range 매개변수가 필요합니다.

응답 구조

JSON-RPC 응답의 result 필드는 다음을 포함하는 객체입니다:
  • context (object):
    • slot (u64): 정보가 검색된 슬롯.
  • value (object):
    • byIdentity (object): 키가 검증인 식별자 문자열(base58로 인코딩된 공개 키)인 객체, 값은 다음을 포함하는 객체:
      • leaderSlots (u64): 쿼리된 범위/에포크에서 이 검증인에게 할당된 리더 슬롯의 수.
      • blocksProduced (u64): 쿼리된 범위/에포크에서 이 검증인이 생성한 블록의 수.
    • range (object):
      • firstSlot (u64): 쿼리된 범위의 첫 번째 슬롯.
      • lastSlot (u64): 쿼리된 범위의 마지막 슬롯.

개발자 팁

  • 에포크 경계 이해하기: identityrange 없이 쿼리할 때, 반환되는 데이터는 노드에 의해 처리된 최신 슬롯까지의 현재 에포크 데이터입니다. 특정 검증인의 전체 과거 에포크에 대한 데이터가 필요한 경우, 해당 에포크의 firstSlotlastSlot를 확인해야 합니다.
  • 노드 데이터 가용성: 역사적인 블록 생산 데이터의 범위는 RPC 노드 간에 다를 수 있습니다. 매우 오래된 슬롯 범위는 모든 노드에서 사용할 수 없을 수 있습니다.
  • 성능 모니터링: getBlockProduction는 검증인 가동 시간과 블록 생산 성공률과 관련된 대시보드나 경고를 구축하는 데 중요한 역할을 합니다.
  • getLeaderSchedule와 결합: 더 깊은 분석을 위해, getBlockProduction 데이터를 getLeaderSchedule의 출력과 연결하여 특정 리더 슬롯이 생성되었거나 놓쳤는지 확인할 수 있습니다.
  • 식별자 vs. 모든 검증인: identity 없이 쿼리하면, 특히 range가 없거나 광범위한 range가 지정된 경우, 대량의 데이터를 반환할 수 있습니다. 응답 크기와 처리 요구 사항에 유의하십시오.

예제

1. 현재 에포크에 대한 블록 생산 얻기 (모든 검증인)

이 예제는 현재 에포크의 모든 검증인에 대한 블록 생산 데이터를 가져옵니다.

2. 현재 에포크의 특정 검증인에 대한 블록 생산 얻기

이 예제는 현재 에포크에서 특정 검증인 식별자의 블록 생산을 가져옵니다.

3. 특정 슬롯 범위 및 검증인에 대한 블록 생산 얻기

이 예제는 정의된 슬롯 범위 내 특정 검증인에 대한 블록 생산 데이터를 가져옵니다.
이 가이드는 Solana에서 블록 생산을 분석하기 위해 getBlockProduction RPC 메서드를 사용하는 방법에 대한 확고한 이해를 제공해야 합니다.

관련 메서드

getLeaderSchedule

생산 데이터와 연관시키기 위한 전체 리더 일정 가져오기

getVoteAccounts

모든 투표 검증인에 대한 정보 가져오기