For the complete documentation index, see llms.txt. This page is also available as Markdown.

CLI 示例

本练习演示如何在终端中使用 content API。我们将使用 Decentraland Foundation 的实例: peer.decentraland.org,而你只需要 curl 命令行工具。

你可以使用 httpie 或者使用以下工具格式化响应: jq 来让每次请求返回的 JSON 更易读。在本指南中,为了清晰起见,我们会展示格式化后的文档。

我们将这样做:

  1. 查询内容服务器的状态。

  2. 查找并下载每日 快照 其中包含一个实体列表。

  3. 获取某个实体的清单。

  4. 下载该实体的一个文件。

让我们先使用以下命令查询服务器状态: /about:

curl "https://peer.decentraland.org/about"
{
  "healthy": true,
  "content": {
    "healthy": true,
    "version": "6.5.0",
  },
  // ... 更多服务器信息(功能标志、版本、路径等)
}

看起来服务器已正常启动并运行("healthy": true),并且向我们提供了其为各个功能集实现的版本信息,以及该实例的一些配置选项。

我们想下载一些内容,所以让我们先看看可用的 快照 ,通过以下方式获取一些标识符: /content/snapshots.

数组中的每一项都描述了一个 快照。让我们获取一个 hash 并从以下位置下载该文件: /content/contents 端点为你提供所有已知收藏集的列表。

你可以尝试更大的快照,就像在 高级 Python 示例。如果想交互式地试一试,你大概会想选择较小的快照之一。

我们可以通过查看第一行,确认下载的是我们熟悉格式的正确文件:

太好了!现在我们已经有了该快照中捕获到的所有实体的本地摘要。让我们取列表中的第一个(文件中的第二行),一个 个人资料:

由于快照会过期,实体也会被替换,本文中的标识符不会起作用。请在你的命令行中跟着操作,以获取真实、有效的文件 ID。

这些信息我们可以保存。我们将使用 entityId 来下载该实体的 JSON 清单,但保留列出的 指针 如果我们想在未来定位这个实体及其任何更新版本,这是个好主意。

我们还有 认证链 用于签署该实体的内容,我们也可以验证列出的签名,以确认我们下载的任何相关文件的真实性。

让我们拿到该实体的清单。记住, entityId 是 文件标识符 我们需要的内容,而我们可以使用 /content/contents 端点再次获取:

这个 个人资料 实体包含 World Explorers 用来渲染和动画化玩家的全部信息。如果我们想获取其中一个打包文件,可以继续使用 /content/contents 端点为你提供所有已知收藏集的列表。

如果我们查看 内容 字段,我们就能看到 hash 内部名为以下文件的 body.png。让我们下载它:

我们可以打开这个 png 文件,用图片查看器或网页浏览器查看作者的作品。不错!

最后更新于