1. 首页
  2. 文档
  3. Cloudflare IPFS网关
  4. 浏览IPFS | Browsing IPFS

浏览IPFS | Browsing IPFS

使用Cloudflare网关浏览IPFS需要两样东西:连接到互联网的浏览器,以及要查看的IPFS上的某些内容。

查看内容

如“关于IPFS”页面所述,添加到IPFS网络的每个文件都会根据其内容获得唯一的地址。因此,如果您在IPFS上存储了一张图片,则其IPFS地址将基于组成该图片的位的哈希。

如果您有要查看或下载的内容的地址,则可以通过Cloudflare的IPFS网关执行此操作。每次通过Cloudflare的网关访问一段内容时,您都会提供一个包含两部分的URL:

  1. 网关的名称。这永远不会改变:cloudflare-ipfs.com
  2. 文件路径。这通常看起来像:/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco。而/ipfs/告诉网关你提供的是存储在IPFS上的内容的地址。QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco是地址本身。

将这两个组件放在一起,您将提供的URL如下所示:

cloudflare-ipfs.com/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco

您可以立即尝试该网址!

IPFS目录

请注意,不只是具有IPFS地址的单个文件。上传到IPFS的目录也可以获取地址。例如,假设您有一个名为的文件夹example,该文件夹只有一个文件example_text.txt,其中包含该字符串I'm trying out IPFS

如果该文件夹已添加到IPFS网络,则文件夹example及其包含的文件example_text.txt将分配地址。在这种情况下,文件夹将具有地址,QmdbaSQbGU6Wo9i5LyWWVLuU8g6WrYpWh2K4Li4QuuE8Fr而文件将具有地址QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

然后,您可以通过两种方式访问​​该文件。

  1. 文件本身的哈希值: cloudflare-ipfs.com/ipfs/QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy
  2. 父文件夹的哈希加上文件的名称: cloudflare-ipfs.com/ipfs/QmdbaSQbGU6Wo9i5LyWWVLuU8g6WrYpWh2K4Li4QuuE8Fr/example_text.txt

星际命名系统

如果你已经做到这一点,你知道如何/ipfs/...通过Cloudflare的网关加载任何文件路径。现在我们将讨论如何使用另一个IPFS系统,即星际命名系统(IPNS)。

IPNS是一种解决可变内容的方法。因为IPFS上的所有文件都是通过其内容的哈希来处理的,所以任何给定文件的地址都将在文件更改的那一刻发生变化。IPNS允许您提供一个始终指向文件最新版本的常量地址。

这是它的工作原理。IPFS网络中的每个节点都有一个称为PeerID(也称为NodeID)的地址,该地址是通过对节点的公钥进行哈希生成的。因为IPFS网络使用相同的哈希算法来生成它用于生成内容地址的PeerID,所以每个PeerID通常从Qm 开始,并且在所有其他方面看起来都与内容地址相同。

每个节点可以选择通过其PeerID发布单个文件或目录,方法是使用其私钥对文件的地址进行签名,并将组合的地址和签名存储在PeerID下的分布式哈希表(Distributed Hash Table)中。如果其他人请求发布到该节点的PeerID的内容,则IPFS协议首先查找签名记录,验证签名,然后查找引用的文件。这为节点运算符提供了一种永远不会改变的常量地址的方法,即使寻址点的底层内容得到更新也是如此。

要访问发布到特定PeerID的文件,您可以访问 cloudflare-ipfs.com/ipns/<PeerID>。请注意,在这种情况下,文件路径 /ipns/不是/ipfs/强调此内容可能会更改。

域名系统

最后,浏览IPFS的最简单方法是使用良好的旧DNS。IPFS多重哈希可以存储在与域名关联的特殊DNS记录中,这些DNS记录向客户端指示在导航到域名时应显示哪些内容。最好的例子是IPFS本身的主页,ipfs.io也可以在cloudflare-ipfs.com/ipns/ipfs.io找到。

域名也可以指向IPFS网关,因此在浏览器中转到域时会显示相同的内容cloudflare-ipfs.com/ipns/...。这样,终端用户根本不需要知道还有IPFS网关!

标签 , , , ,
这篇文章对你有帮助吗?

How can we help?