首页 » 协议实验室推出网络索引器,可搜索Filecoin与IPFS网络的可寻址数据! 
By Published On: 15 4 月, 2022Categories: 区块链

协议实验室最近推出了第一个生产网络索引器,可以搜索存储提供商提供的内容可寻址数据,例如 Filecoin 和 IPFS 网络上的数据。存储提供商现在可以将其数据的内容 ID ( CID ) 发布到网络索引器,客户端可以查询网络索引器以了解在哪里检索由这些 CID 标识的内容。

什么是网络索引器

网络索引器(简称索引器)是将 CID 映射到谁拥有数据的记录(提供者数据记录)的系统。它旨在处理 Filecoin 网络中的数据规模,并可被 IPFS 网络用于定位数据。

存储提供商将数据发布到索引器,以便客户端能够找到。想要知道一条信息存储在哪里的客户端可以使用 CID 或内容的多重哈希查询索引。索引器使用有关提供者的信息来响应客户端。这告诉客户端可以从哪里检索内容,以及如何检索内容。下面是描述网络索引系统的架构图:

当前索引器状态

网络索引器正在大规模运行,每秒处理超过 11,000 个查询,并且已经索引了 30 亿个 CID。我们预计这些数字将继续增长,因为更多的存储提供商索引更多的内容。

如何使用网络索引器

网络索引器托管在cid.contact 上,可以通过 HTTP 或 libp2p 向其 API 发送请求来访问。cid.contact 索引器有一个轻量级的 Web 界面,可用于手动输入 CID 并查询索引器。这会发出请求并显示结果。 cid.contact/cid/

现实世界的例子

下面是使用 cid.contact 索引器查找内容的演示:

  1. 浏览到存储提供商 f08403 存储的国家癌症研究所数据的 Slingshot 恢复页面,点击此处
  2. 然后导航到其中一个交易 ID,例如34999166
  3. 然后点击有效载荷 CID uAXASID5qXOLVLSg17P3C9tchE5BzxD4H2iAzwG6cJZL6bcAs进入cid.contact搜索框。

索引器返回一个响应,表明此 CID 在 ID为 12D3KooWBwUERBhJPtZ7hg5N3q1DesvJ67xx9RLdSaStBz9Y6Ny8 且具有地址的存储提供程序中找到/dns4/yablufc.ddns.net/tcp/4567。现在您可以继续检索数据了!可以在w3rc github repo中找到一个示例检索客户端。

可以使用此 URL 直接执行相同的查询,按 CID 查询:https ://cid.contact/cid/uAXASID5qXOLVLSg17P3C9tchE5BzxD4H2iAzwG6cJZL6bcAs

这会将提供者信息返回为 JSON:

{
    "MultihashResults": [{
        "Multihash": "EiA+alzi1S0oNez9wvbXIROQc8Q+B9ogM8BunCWS+m3ALA==",
        "ProviderResults": [{
            "ContextID": "AXESIM51QwYLyeGgLUIOT/Xyk1l+hfqSyj2EwN5wAH9Y3Z5n",
            "Metadata": "gID8AaNoUGllY2VDSUTYKlgoAAGB4gOSICAmwARKsu6MUK4TuhQXqDkXViVlAnKxjUUCEVGRGt78EWxWZXJpZmllZERlYWz1bUZhc3RSZXRyaWV2YWz1",
            "Provider": {
                "ID": "12D3KooWBwUERBhJPtZ7hg5N3q1DesvJ67xx9RLdSaStBz9Y6Ny8",
                "Addrs": ["/dns4/yablufc.ddns.net/tcp/4567"]
            }
        }]
    }]
}

此结果还显示 CID 可从 ID为12D3KooWBwUERBhJPtZ7hg5N3q1DesvJ67xx9RLdSaStBz9Y6Ny8的提供商处获得,并可通过地址/dns4/yablufc.ddns.net/tcp/4567 访问。元数据字段包含提供者用来定位内容并将其交付给客户端的数据。

如果 CID 标识的内容可供多个提供者使用,则索引器查询结果可能包含 CID 的多个提供者记录。批量查询也可用于在单个请求中查找多个 CID。这就是为什么响应包含一个MultihashResults数组……以支持查询多个 CID。

要通过多重哈希而不是 CID 查找提供者信息,请使用cid.contact/multihash/端点。要查看索引器从中获取数据的提供者列表,请参阅cid.contact/providers端点。

我可以运行自己的网络索引器吗?

是的,您可以运行网络索引器来索引您自己的内容。可以使用此处的代码为大多数平台构建索引器:https ://github.com/filecoin-project/storetheindex 。

如何运行和配置自己的索引器将是未来讨论的主题。有关向索引器提供数据的技术资源链接如下:

下一步是什么?

随着最新的 Lotus 版本,存储提供商将很快为 Filecoin 的大部分内容编制索引,我们很高兴看到通过星际网络索引启用内容发现而出现的用例。