IPFS 快速入门使用指南

Note: 如果你对于如何运行 IPFS 节点不感兴趣,只是想要快速使用 IPFS 存储服务的话,可以忽略其他部分,下拉查看 固定服务,或者查看文档了解更多关于固定服务的信息: https://docs.ipfs.io/how-to/websites-on-ipfs/single-page-website/#pinning-files。

什么是 IPFS

星际文件系统(InterPlanetary File System,缩写为 IPFS)是一个旨在实现文件的分布式存储、共享和持久话的网络传输协议。它是一个内容可寻址的点对点超媒体分发协议。在IPFS网络中的节点构成一个分布式文件系统。

使用 IPFS Destop

IPFS Desktop 是一个易于使用的桌面程序,集成了IPFS 节点、文件管理器、peer manager 和内容浏览器等服务,方便不熟悉 IPFS 操作的使用者快速了解 IPFS。

安装

如果当前计算机上已有 IPFS 节点,IPFS Desktop 将充当该节点的控制面板和文件浏览器。如果您没有节点,它会为您安装一个。无论哪种方式,IPFS Desktop 都会自动检查更新。
具体安装过程详见官方文档: https://docs.ipfs.io/install/ipfs-desktop

安装完成,点击启动进入状态页,如下图:

可以看到一个 IPFS 节点已经在本地运行,并分配了一个节点 ID,其他节点可以根据这个 ID 来连接你的节点。在状态页还可以看到通过此节点托管的文件大小,以及在 IPFS 网络上发现的其他节点的数量。

托管文件
要使用 IPFS Desktop 将文件存储在 IPFS 网络,需要按照如下步骤操作:

  1. 进入文件页,点击右上方“导入”,选择“文件”

  2. 导航到要托管的文件,打开

  3. 查看导入进度,导入完成可在文件页下方看到如下提示:

  4. 选择刚刚导入的文件,选择“分享链接”

  5. 在弹出框中选择 “复制”,将文件 URL 复制到剪贴板。默认的 URL 使用 https://ipfs.io 网关,可以在配置页修改。

6.打开你的浏览器,粘贴刚才复制的 URL 并访问。

注意事项:

  1. 上传的文件被保存在你的本地 IPFS 节点,可以被其他节点访问。通过 URL 访问需要提供公共网关服务的节点在整个 IPFS 网络中搜索文件直到发现你的节点,这个时间可能会很长,并且需要你的 IPFS 节点始终保持在线。
  2. IPFS Desktop 不支持显示通过 API 上传的文件,如果选择调用 API 上传文件,建议保存上传的结果。

从 IPFS 网络中获取文件

想要从其他人的 IPFS 节点中获取特定文件,首先要知道这个文件的 CID (content identifier),CID 是基于上传到 IPFS 节点的内容的加密哈希。

  1. 在文件页选择“导入”,选择“来自 IPFS 路径”

  2. 在弹出框中将他人分享给你的 CID 复制到输入框,选择导入即可

通过 CID 分享文件

在文件页,点击想要分享的文件右边的三点,选择“复制CID”

固定文件

IPFS 节点将它们存储的数据视为缓存,这意味着你上传的文件可能会被执行垃圾回收,而不会被永久存储。固定文件 (pinning files) 告诉 IPFS 节点将数据视为必要,而不是将其丢弃。在 IPFS 桌面上,进入“文件”页,选择要固定的文件,然后点击“设置固定”:

上述操作将文件“永久”保存在了你的本地 IPFS 节点,然而,如果想要保证在本地节点离线的情况下依然可以访问你的文件,可以选择使用 IPFS collaborative clusters固定服务

固定服务

使用 IPFS 保存重要数据的一个简单方法是使用固定服务(pingning service)。这些服务运行大量 IPFS 节点,通过这些服务固定的文件很容易被其他节点搜索到,并被用户通过公共网关访问。使用固定服务的好处是不必运行和维护自己的 IPFS 节点,但某些固定服务可能需要科学上网,或有较高的使用门槛。官方维护了一个固定服务提供商(pinning service providers) 列表。在本教程中,我们将使用 Pinata (需要科学上网)。它为新用户提供 1GB 的免费存储空间,并且十分容易上手:

  1. 进入 Pinata 首页,选择 “Try for free” 注册

  2. 注册完成后,登陆进入个人主页。选择“Upload -> File -> Select a file”,选择你希望托管到 IPFS 网络的文件

  3. 选择 “Upload”,等待文件被上传到 Pinata 维护的节点

  4. 上传完成后,可以在主页的文件列表看到被固定的文件以及文件的 CID

  5. 点击文件名,就可以通过 Pinnata 网关在浏览器中查看你上传的文件

注意事项: Pinata 有 1GB 的免费额度,超出部分需要付费支持。可以考虑使用 NFT.Storage,使用方法和 Pinata 很相似。这是一项免费的去中心化存储服务,由 IPFS 协议的开发团队 Protocol Labs 维护。详见 Introducing NFT.Storage: Free Decentralized Storage for NFTs: https://filecoin.io/blog/posts/introducing-nft.storage-free-decentralized-storage-for-nfts/

在服务器上维护自己的 IPFS 节点和公共网关

在本地运行的 IPFS 节点,保存在其中的文件难以通过公共网关访问,并且一旦节点离线就无法访问;使用固定服务商可能会遇到网站无法在大陆直接访问,或者服务商停止提供服务的问题。
如果有保存大量文件/数据并且希望能在任何地方被快速访问的需求,可以考虑将 IPFS 部署在服务器上,并维护一个公共网关,使用户能够通过浏览器 HTTP 协议来访问保存在服务器 IPFS 节点中的文件。

查看此贴了解 如何快速搭建自己的 IPFS 网关

什么是 IPFS 网关

IPFS 网关 (gateway) 允许访问者通过 HTTP 请求从 IPFS 网络访问数据。默认情况下,IPFS 网关配置在 8080 端口上,数据将通过以下方式从正在运行 IPFS 的服务器上获取:

http://{your_ip_address}:8080/ipfs/{content ID} 
or
https://{gateway URL}/ipfs/{content ID}/{optional path to resource}

关于 IPFS 网关更详细的介绍: https://docs.ipfs.io/concepts/ipfs-gateway/#overview
官方推荐配置 IPFS 网关教程: The definite guide to your high-performance IPFS Gateway
其他参考链接:
Introduction to IPFS: Run Nodes on Your Network, with HTTP Gateways: https://rossbulat.medium.com/introduction-to-ipfs-set-up-nodes-on-your-network-with-http-gateways-10e21ea689a4
Cloudflare IPFS gateway: Setting up a Server: https://developers.cloudflare.com/distributed-web/ipfs-gateway/setting-up-a-server/

欢迎大家留言在使用过程中遇到的问题~

2 Likes

是部署在树图链上的吗?

这个教程可以,支持

这个教程可以
支持