Skip to main content
getLeaderSchedule RPC 메서드는 특정 epoch에 대한 검증자에게 블록 생성 리더십 할당을 반환합니다. 리더 일정을 이해하면 네트워크 분석, 특정 시간에 블록을 생성할 검증자를 예측하거나 특정 리더와 상호작용하는 도구에 유용할 수 있습니다.

일반적인 사용 사례

  • 네트워크 모니터링: epoch 내 검증자 간의 리더 슬롯 분포를 관찰합니다.
  • 거래 라우팅(고급): 일부 고급 애플리케이션은 현재 또는 다음 리더에게 거래를 라우팅하려 할 수 있지만, 이는 일반적으로 네트워크와 RPC 노드에서 처리됩니다.
  • 검증자 성능 분석: 리더 일정과 실제 블록 생성을 연관시켜 검증자의 가동 시간과 성능을 평가합니다.
  • 에폭 진행 이해: epoch 동안 블록을 생성할 책임이 있는 검증자를 확인합니다.

요청 매개변수

이 메서드는 최대 두 개의 선택적 매개변수를 받을 수 있습니다:
  1. slot (u64, 선택 사항): 슬롯 번호입니다. 제공된 경우, 이 슬롯을 포함하는 epoch에 대한 리더 일정이 가져옵니다. null가 제공되지 않거나 생략된 경우, 현재 epoch에 대한 리더 일정이 가져옵니다.
  2. config (객체, 선택 사항): 포함할 수 있는 구성 객체입니다:
    • commitment (문자열, 선택 사항): 커밋 수준을 지정합니다. 제공되지 않은 경우 노드의 기본 커밋이 사용됩니다.
    • identity (문자열, 선택 사항): 검증자의 base-58로 인코딩된 공개 키입니다. 제공된 경우, 반환된 일정은 이 특정 검증자에게 할당된 슬롯만 포함합니다.

응답 구조

JSON-RPC 응답의 result 필드는 다음과 같습니다:
  • null: 요청한 slot에 해당하는 epoch(슬롯이 제공되지 않은 경우 현재 epoch)이 발견되지 않거나 리더 일정이 사용 불가능한 경우(예: 미래, 계산되지 않은 epoch).
  • 객체: 일정이 발견된 경우. 이 객체는 다음과 같은 맵입니다:
    • 각각의 는 검증자의 base-58로 인코딩된 공개 키(아이덴티티)입니다.
    • 해당 은 숫자 배열입니다. 각 숫자는 해당 검증자가 리더인 epoch 시작에 상대적인 슬롯 인덱스입니다.
예를 들어, epoch가 슬롯 1000에서 시작하고 검증자가 일정에 [0, 1, 5]을 가진 경우, 해당 검증자는 슬롯 1000, 1001, 1005의 리더입니다.

예제

1. 현재 Epoch에 대한 리더 일정 가져오기

이 예제는 현재 epoch의 전체 리더 일정을 가져옵니다.

2. 특정 Epoch의 특정 검증자에 대한 리더 일정 가져오기(슬롯별)

이 예제는 슬롯 200000을 포함하는 epoch에 대한 주어진 검증자 아이덴티티의 리더 일정을 가져옵니다.

개발자 팁

  • Epoch 경계: 리더 일정은 전체 epoch 동안 고정됩니다. getEpochInfo를 사용하여 epoch의 시작 및 종료 슬롯을 찾을 수 있습니다.
  • 미래 Epochs: 네트워크가 아직 계산하지 않은 경우, 먼 미래 epoch에 대한 일정을 요청하면 null가 반환될 수 있습니다.
  • 상대적 슬롯 인덱스: 응답의 슬롯 번호는 요청된 epoch의 첫 슬롯에 상대적이며, 블록체인의 절대 슬롯 번호가 아닙니다.
  • 대용량 응답: 아이덴티티 필터가 없는 전체 epoch 일정의 경우, 응답은 모든 검증자와 할당된 슬롯을 나열하여 클 수 있습니다.
이 가이드는 Solana 네트워크의 주어진 epoch에 대한 블록 생산자 할당을 조회하기 위해 getLeaderSchedule를 사용하는 데 필요한 정보를 제공합니다.

관련 메서드

getEpochInfo

슬롯 경계를 포함한 현재 epoch 정보 얻기

getSlotLeaders

특정 범위의 슬롯에 대한 리더 얻기