getSlot RPC 메서드는 RPC 노드가 특정 커밋 수준에 도달했다고 간주하는 현재 슬롯을 반환합니다. 이는 노드가 인식하는 블록체인의 현재 상태를 이해하는 데 기본적인 방법입니다.
일반적인 사용 사례
- 현재 네트워크 진행 상황 확인: 노드에 의해 처리되거나 확인된 가장 최근 슬롯을 확인합니다.
- 노드 동기화 체크: 다양한 노드의 슬롯을 비교하면 동기화 상태에 대한 정보를 얻을 수 있습니다.
- 작업의 타임스탬프 지정: 현재 슬롯을 참조 지점으로 사용하여 작업이나 특정 데이터의 나이를 이해합니다.
- 다른 RPC 호출을 위한 입력: 일부 RPC 메서드는 참조 지점으로 슬롯 번호를 사용할 수 있습니다.
요청 매개변수
이 메서드는 첫 번째 매개변수로 선택적 구성 객체를 받습니다:options(object, 선택 사항): 다음 필드를 가진 선택적 구성 객체:commitment(string, 선택 사항): 쿼리에 대한 커밋 수준을 지정합니다. 지원되는 값은finalized,confirmed또는processed입니다. 생략하면 RPC 노드의 기본 커밋이 사용됩니다 (일반적으로finalized).processed: 노드는 가장 최근 슬롯을 쿼리합니다. 이 슬롯은 아직 클러스터에 의해 확인되지 않았고 건너뛸 수 있습니다.confirmed: 노드는 클러스터의 초다수에 의해 투표된 가장 최근 슬롯을 쿼리합니다.finalized: 노드는 클러스터에서 최대 잠금에 도달한 것으로 확인된 가장 최근 슬롯을 쿼리합니다 (롤백할 수 없음).
minContextSlot(number, 선택 사항): 요청이 평가될 수 있는 최소 슬롯을 설정합니다. 이는 노드의 컨텍스트에 대한 최소 슬롯을 설정합니다. 노드의 상태가 이 슬롯보다 오래된 경우, 오류를 반환하거나 이 최소 슬롯에 상대적인 현재 (오래된) 상태를 반영하는 슬롯 번호를 반환할 수 있습니다.
응답 구조
JSON-RPC 응답의result 필드는 지정된 커밋 수준에 따라 현재 슬롯 번호를 나타내는 단일 u64 (부호 없는 64비트 정수)입니다.
예제 응답:
예제
1. 현재 슬롯 가져오기 (기본 커밋)
이 예제는 노드의 기본 커밋 수준 (일반적으로finalized)을 사용하여 현재 슬롯을 가져옵니다.
2. 특정 커밋으로 현재 슬롯 가져오기
이 예제는confirmed 커밋에 도달한 현재 슬롯을 가져옵니다.
개발자 팁
- 커밋은 중요합니다: 반환된 슬롯 번호는 지정된
commitment수준에 크게 의존합니다. 자세한 정보는 Solana Commitment Levels를 참조하세요.processed는 노드가 인식하는 가장 높은 (가장 최근) 슬롯이며,finalized는 전체 네트워크에 의해 확인된 오래된 슬롯입니다. 데이터 확정성을 위한 사용 사례에 적합한 커밋 수준을 선택하십시오. - 노드 가변성: 다른 RPC 노드는 네트워크 전파 지연 또는 자체 처리 상태로 인해 동일한 커밋 수준에 대해 약간 다른 슬롯 번호를 반환할 수 있습니다. 이는 특히
processed및confirmed수준에서 그렇습니다. minContextSlot: 이 매개변수는 요청을 처리하는 노드가 적어도minContextSlot에 도달했음을 보장합니다. 노드가 이 슬롯보다 뒤쳐지면, 동작이 다를 수 있습니다 (예: 오류 또는minContextSlot보다 작은 노드의 현재 최고 슬롯). 이는 최근 상태에 대한 쿼리를 보장해야 하는 고급 시나리오에서 일반적으로 사용됩니다.
getSlot는 Solana 블록체인과 상호작용하고 현재 진행 상황을 이해하기 위한 간단하지만 필수적인 방법입니다.