SuperAPI AI 工具集

ic dashboard apis

数据与分析

查看项目

更新于 10-16 17:55

技能介绍

用途

IC Dashboard APIs 是一组公共 REST API,为 dashboard.internetcomputer.org 提供数据支撑。它们以只读方式暴露 Internet Computer 网络的各类数据,包括 canister 元数据、ICRC 账本、SNS 数据、ICP 账本以及网络指标。智能体和脚本可以通过 HTTPS 从链下调用这些 API,无需部署 canister,也无需消耗 cycles。

主要能力

该技能覆盖五个独立 API:

  • IC API:提供 canister、子网、NNS 神经元与提案数据。推荐使用 v4 版本(/api/v4/canisters、/api/v4/subnets)以获得游标分页支持。
  • ICRC API:提供 ICRC 账本数据,包括 TestICP 及其他 ICRC 代币(如 ckBTC、SNS 代币)。注意:ICRC API 不提供主网 ICP 数据。推荐使用 v2 版本(/api/v2/ledgers 等)。
  • SNS API:提供 SNS 列表、提案和神经元数据。推荐使用 v2 版本(/api/v2/snses 等)。
  • Ledger API:提供主网 ICP 代币数据,包括账户、交易和供应量。部分端点使用无版本路径(如 /accounts、/supply/total/latest),游标分页列表使用 /v2/。
  • Metrics API:提供治理、cycles、比特币等网络指标。使用 /api/v1/ 版本。

每个 API 均提供 OpenAPI 规范和 Swagger UI 文档,便于获取精确的路径、查询参数、请求体结构和响应格式。

使用方式

使用任意 HTTP 客户端(curl、fetch、axios 或语言原生 HTTP 库)通过 HTTPS 调用。推荐使用 v2 及以上版本,它们支持基于游标的分页(after、before、limit),响应中返回 next_cursor/previous_cursor,用于请求下一页或上一页。

各 API 的基址与文档:

  • IC API:https://ic-api.internetcomputer.org ,OpenAPI 规范 https://ic-api.internetcomputer.org/api/v3/openapi.json ,Swagger https://ic-api.internetcomputer.org/api/v3/swagger
  • ICRC API:https://icrc-api.internetcomputer.org ,OpenAPI 规范 https://icrc-api.internetcomputer.org/openapi.json ,文档 https://icrc-api.internetcomputer.org/docs
  • SNS API:https://sns-api.internetcomputer.org ,OpenAPI 规范 https://sns-api.internetcomputer.org/openapi.json ,文档 https://sns-api.internetcomputer.org/docs
  • Ledger API:https://ledger-api.internetcomputer.org ,OpenAPI 规范 https://ledger-api.internetcomputer.org/openapi.json ,Swagger https://ledger-api.internetcomputer.org/swagger-ui/
  • Metrics API:https://metrics-api.internetcomputer.org ,OpenAPI 规范 https://metrics-api.internetcomputer.org/api/v1/openapi.json ,文档 https://metrics-api.internetcomputer.org/api/v1/docs

调用示例:

# IC API — 列出 canister(v4 游标分页)
curl -s "https://ic-api.internetcomputer.org/api/v4/canisters?limit=5"

# IC API — 按 ID 获取单个 canister(v3)
curl -s "https://ic-api.internetcomputer.org/api/v3/canisters/ryjl3-tyaaa-aaaaa-aaaba-cai"

# ICRC API — 列出账本(v2)
curl -s "https://icrc-api.internetcomputer.org/api/v2/ledgers?limit=10"

# SNS API — 列出 SNS(v2)
curl -s "https://sns-api.internetcomputer.org/api/v2/snses?limit=10"

# Ledger API — 总供应量
curl -s "https://ledger-api.internetcomputer.org/supply/total/latest"

# Metrics API — 平均 cycle 燃烧率
curl -s "https://metrics-api.internetcomputer.org/api/v1/average-cycle-burn-rate"

获取 OpenAPI 规范用于代码生成或验证:

curl -s "https://ic-api.internetcomputer.org/api/v3/openapi.json" -o ic-api-v3.json
curl -s "https://icrc-api.internetcomputer.org/openapi.json" -o icrc-api.json
curl -s "https://sns-api.internetcomputer.org/openapi.json" -o sns-api.json
curl -s "https://ledger-api.internetcomputer.org/openapi.json" -o ledger-api.json
curl -s "https://metrics-api.internetcomputer.org/api/v1/openapi.json" -o metrics-api-v1.json

适用场景

  • 从链下脚本或智能体获取 Internet Computer 网络数据,无需部署 canister。
  • 查询 canister 元数据、子网信息、NNS 提案。
  • 查询 ICRC 账本(ckBTC、SNS 代币、TestICP)的账户与交易。
  • 查询主网 ICP 代币的账户、交易和供应量。
  • 查询 SNS 列表、提案和神经元。
  • 获取治理、cycles、比特币等网络指标。
  • 使用 OpenAPI 规范进行代码生成或接口验证。

限制与注意事项

  • 版本与基址:IC API 使用 /api/v3/(canister 和子网使用 v4);ICRC API 有 /api/v1/ 和 /api/v2/;Ledger API 部分端点无版本前缀,游标分页列表使用 /v2/;Metrics API 使用 /api/v1/。使用错误前缀会返回 404 或错误结构。
  • Canister ID 格式:路径和查询中的 canister ID 必须符合 principal 格式:27 个字符,五组五个字符加最后一组三个字符(例如 ryjl3-tyaaa-aaaaa-aaaba-cai)。子网 ID 使用更长的格式(例如 63 字符)。格式或长度错误会导致 422 或 400。
  • ICRC API 不提供主网 ICP:ICRC API 仅暴露 TestICP 及其他 ICRC 账本,不提供主网 ICP。主网 ICP 数据请使用 Ledger API。
  • ICRC API 路径需 ledger_canister_id:ICRC 端点要求在路径中提供 ledger_canister_id(例如 /api/v2/ledgers/{ledger_canister_id}/transactions)。
  • 分页:优先使用支持游标分页的 v2 及以上端点(after、before、limit)。旧版 v1/偏移分页端点已过时,使用错误的分页模型会返回空页或错误页。
  • 时间戳:大多数时间范围查询参数(start、end)期望 Unix 秒(整数)。发送毫秒或 ISO 字符串会导致验证错误(422)。
  • 账户标识符格式:Ledger API 和 ICRC/ICP 端点使用账户标识符(十六进制哈希),而非原始 principal。需按 API 文档使用相同编码(例如 account_identifier 要求 64 字符十六进制)。
  • 认证:这些公共仪表盘 API 对文档中的只读端点不要求 API 密钥或认证。如果收到 401/403,请确认未访问其他环境或需要认证的写入端点。
  • 无需部署:这些是外部 HTTP API,无需 canister 部署。