Skip to main content
getClusterNodes RPC 메서드는 현재 Solana 클러스터에 참여하고 있는 모든 알려진 노드의 목록을 반환합니다. 이 정보는 네트워크 분석, 대체 RPC 엔드포인트 발견 또는 조회된 노드의 관점에서 현재 네트워크 토폴로지를 이해하는 데 유용할 수 있습니다.

일반적인 사용 사례

  • 네트워크 토폴로지 분석: 클러스터 내 알려진 노드의 스냅샷을 얻고, 공개 키 및 네트워크 주소(gossip, TPU, RPC)를 포함합니다.
  • RPC 엔드포인트 발견: 클러스터 내 다른 잠재적인 RPC 서버 식별 (가용성과 속도 제한은 다를 수 있음).
  • 노드 버전 모니터링: 클러스터 내 다양한 노드에서 실행되는 소프트웨어 버전을 관찰합니다.

요청 매개변수

이 메서드는 매개변수를 필요로 하지 않습니다.

응답 구조

JSON-RPC 응답의 result 필드는 객체 배열이 될 것입니다. 각 객체는 노드를 나타내며 다음 필드를 포함합니다:
  • pubkey (string): base58로 인코딩된 노드의 공개 키(identity).
  • gossip (string | null): 노드의 gossip 서비스에 대한 IP 주소와 포트입니다. 사용 가능하지 않으면 null일 수 있습니다.
  • tpu (string | null): 노드의 트랜잭션 처리 유닛(TPU)을 위한 IP 주소와 포트입니다. 직접적인 트랜잭션 제출에 사용됩니다. null일 수 있습니다.
  • rpc (string | null): 노드의 JSON-RPC 서비스에 대한 IP 주소와 포트입니다. 이 노드에 의해 RPC 서비스가 활성화되지 않거나 광고되지 않는 경우 null일 수 있습니다.
  • version (string | null): 노드의 소프트웨어 버전입니다. 버전 정보가 사용 가능하지 않으면 null일 수 있습니다.
  • featureSet (u32 | null): 노드의 기능 세트의 고유 식별자입니다. null일 수 있습니다.
  • shredVersion (u16 | null): 이 노드가 블록(절편)을 저장하고 전송하는 데 사용되는 데이터 구조의 버전입니다. null일 수 있습니다.

예제

1. 모든 알려진 클러스터 노드 가져오기

이 예제는 조회된 RPC 엔드포인트에 알려진 모든 노드의 목록을 가져옵니다.

개발자 팁

  • 노드의 관점: 반환된 목록은 특정 RPC 노드에 알려진 노드를 반영합니다. 다른 RPC 노드는 네트워크 변경 중에 클러스터에 대한 약간 다른 관점을 가질 수 있습니다.
  • RPC 가용성: 나열된 모든 노드의 RPC 포트가 반드시 열려 있거나 공개적으로 접근 가능한 것은 아닙니다. rpc 필드가 null이 아니면 광고된 RPC 엔드포인트임을 나타내지만, 접근성이나 성능을 보장하지는 않습니다.
  • 동적 목록: 클러스터 토폴로지는 동적입니다. 노드는 가입하고 떠날 수 있으며, 따라서 목록은 시간이 지남에 따라 변경될 수 있습니다.
  • 큰 응답: 메인넷 베타와 같은 큰 네트워크에서는 응답이 상당히 광범위할 수 있으며, 많은 노드를 나열합니다.
이 가이드는 Solana 클러스터 내의 노드를 발견하고 이해하기 위해 getClusterNodes RPC 메서드를 사용하는 데 필요한 정보를 제공합니다.