메인 콘텐츠로 건너뛰기
GET
IDL 버전 목록 조회
이 페이지의 경로 매개변수, 응답 스키마 및 예시는 OpenAPI 정의에서 생성됩니다. List IDL Versions는 Parsed Events와 Parsed Streams가 명령어를 디코딩할 때 사용하는 IDL 카탈로그에서 프로그램 인터페이스의 변경 이력을 반환합니다. 각 항목은 하나의 버전이며, 해당 버전이 활성화된 슬롯으로 식별됩니다. 항목은 오래된 순서대로 정렬되므로 마지막 항목이 현재 버전입니다. 응답의 slot 값을 Get IDL에 전달하면 해당 버전의 IDL 문서를 가져올 수 있습니다. Orb 탐색기는 이러한 엔드포인트를 사용하여 프로그램 IDL을 표시합니다.

사용 사례

  • 인터페이스 변경 사항을 추적하세요. 의존하는 프로그램에 대해 List IDL Versions를 주기적으로 폴링하세요. 새 버전이 나타나면 Get IDL로 해당 버전과 이전 버전을 가져와 두 버전의 instructions을 비교하세요. 새로운 관리자 또는 권한 명령어가 추가되었다면 보안 검토를 수행하는 것이 좋습니다.
  • 카탈로그 적용 범위를 확인하세요. 404은 카탈로그에 해당 프로그램의 IDL이 없다는 의미입니다. SPL Token과 같은 프로그램은 대신 내장 디코더로 디코딩되며 404도 반환합니다.

예시: 새 IDL 버전 감지

이 스크립트는 프로그램의 IDL 버전을 나열하고, 최신 버전 두 개를 가져온 다음, 추가되거나 제거된 명령어를 출력합니다.
diff-idl-versions.js
시간 경과에 따른 변경 사항을 감지하려면 마지막으로 확인한 버전의 slot 값을 저장하고 폴링할 때마다 이 값과 비교하세요.

크레딧

각 요청에는 10크레딧이 소모되며 모든 요금제에서 사용할 수 있습니다. 위 예시는 요청을 세 번 보내므로 30크레딧이 소모됩니다. 크레딧을 참고하세요.

오류

기타 오류는 error 메시지가 포함된 JSON 본문을 반환합니다. 예: {"error": "no IDLs found for program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}.

요청 매개변수

string
필수
base58로 인코딩된 프로그램 주소입니다.

인증

api-key
string
query
필수

경로 매개변수

programId
string
필수

base58로 인코딩된 프로그램 주소입니다.

예시:

"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"

응답

프로그램의 IDL 버전이며, slot을 기준으로 오름차순 정렬됩니다.

slot
integer<uint64>
필수

이 IDL 버전이 활성화된 슬롯입니다. 이 버전을 가져오려면 IDL 가져오기에 전달하세요.

sources
string[]
필수

Parsed Events가 이 버전을 찾은 위치입니다. 값에는 anchor, program_metadata, github 등이 있으며 더 추가될 수 있습니다. 하나의 버전에 소스가 여러 개 있을 수 있습니다.