跳转到主要内容
GET
列出 IDL 版本
此页面上的路径参数、响应模式和示例均根据 OpenAPI 定义生成。 列出 IDL 版本会从 Parsed Events 和 Parsed Streams 用于解码指令的 IDL 目录中,返回程序接口的历史记录。每一项代表一个版本,并通过其开始生效的槽位进行标识。各项按从旧到新的顺序排列,因此最后一项是当前版本。 将响应中的任意 slot 传递给获取 IDL,即可获取该版本的 IDL 文档。Orb 浏览器使用这些端点显示程序 IDL。

使用场景

  • 跟踪接口变更。 定期轮询你所依赖程序的“列出 IDL 版本”。出现新版本时,使用“获取 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[]
必填

解析事件找到此版本的位置。值包括 anchor、program_metadata 和 github,未来可能会添加更多值。一个版本可以有多个来源。