IPFS是一种用于文件存储的对等网络协议,采用的是基于内容的寻址,而非基于位置。这意味着要查找文件,我们不需要知道它在哪里(abc.com/cat.png),而是它包含的内容(QmSNssW5a9S3KVRCYMemjsTByrNNrtXFnxNYLfmDr9Vaan)——由内容的哈希进行表示。
哈希函数为每个文件创建唯一的“指纹”。
因此,如果我们想要检索一个文件,只需询问网络:“谁拥有这个文件(QmSNssW5a9S3KVRCYMemjsTByrNNrtXFnxNYLfmDr9Vaan)”,然后来自IPFS网络的某个拥有该文件的人将提供给我们。我们可以通过将请求的哈希值与接收到的哈希值进行比较来验证文件的完整性,如果哈希值匹配,则可知该文件没有被更改。这个哈希函数还可以帮助消除网络的重复,这样具有相同内容的文件就无需提交两次,因为相同的内容会产生相同的哈希。这优化了存储需求,也提高了网络的性能。
那我们如何使用IPFS来存储文件呢?
文件存储被IPFS对象,后者是一种数据结构,包括:
1)数据(Data)——一个二进制大对象(BLOB),可以存储高达256KB。
2)链接(Links)——链接IPFS对象的一个数组。
如果我们的文件大于256KB,那么它将被拆分并存储在多个IPFS对象中,然后创建一个空对象,链接文件的所有其他对象。
最开始,文件上传时,需要将文件添加到IPFS的仓库中,上传后生成默克尔DAG的结构,生成的结构有两种Layout:balanced和trickle的。而在balanced结构中,首先生成root作为根节点,然后将文件分割,默认按照256KB大小读取一个chunk,生成叶子节点,依次生成node1,node2。root节点会有Link指向挂在root节点的叶子节点node1和node2。root节点下面能够Link的叶子节点数量是有限的,IPFS中默认设置的是174个。超过174个后则会新创建一个newroot节点,并Link到oldroot,新的chunk作为node3被newroot直接Link。
当继续有新的chunk添加时,则会生成node34作为node3和node4的父节点,node34含有两个Link分别链接到node3和node4。
具体存储流程比较复杂。而今天,我们介绍一个比较简单的使用方法。
IPFSDesktop是一个简易桌面软件,能够在便捷的桌面应用程序中提供IPFS的所有功能:一个完整的IPFS节点,加上方便的OS菜单栏、任务栏快捷方式和所有功能于一身的文件管理器,对地图和内容资源管理器。
使用IPFSDesktop无需接触终端即可熟悉IPFS;或者,一个熟悉使用IPFS的用户,也可以使用IPFSDesktop在命令行旁边,使用功能强大的菜单栏、任务栏快捷方式,以加快IPFS工作流程。
使用IPFSDesktop的优势:
1)在系统启动时启动节点,并使用便捷的菜单栏、系统托盘菜单从操作系统进行控制。
2)通过多种便捷方式将文件、文件夹和屏幕快照快速导入IPFS,包括拖放操作。
3)使用熟悉的文件浏览器轻松管理节点的内容,该文件浏览器提供了用于重命名、移动、固定文件和文件夹的快速快捷方式,直接在IPFS桌面中预览许多常见文件格式,将内容ID或可共享链接复制到剪贴板等。
4)在全球地图上可视化你的IPFS对等节点,以显示你连接的节点,节点的位置,所使用的连接等。
5)使用可视化工具浏览IPFS文件,使我们可以直观地了解如何将存储在IPFS上的示例数据集分解为内容寻址的片段。
6)操作系统范围内,对IPFS文件和链接支持自动移交以开头的链接ipfs://,ipns://dweb,并在IPFS桌面中打开。
7)CLI导师模式,可帮助我们随时学习IPFS命令。
具体操作步骤:
如何在IPFS网络上,存储下载文件?
1、GitHub上找到IPFSDesktop,并进入IPFSDesktop下载页面,查找以.exe最新版本的IPFSDesktop结尾的链接,并运行.exe文件以开始安装。
2、安装并运行软件。打开软件,在菜单栏中找到“文件”,点击并选择“导入”,开始上传文件。
如何在IPFS网络上,托管网站?
1、打开网站,找到网站源码,复制源代码。
2、创建一个txt文档,然后,我们将网站的源代码复制到txt文档中,选择将文档另存为,另存为的文件名为“index.html”。
3、打开IPFSDesktop,选择文件导入,将“index.html”导入。
4、导入好之后,右击文件名,选择分享链接。之后在浏览器中粘贴链接,就能得到一个以"ipfs.io”为开头的网站。
不用扫一扫,不用摇一摇,联系客服请搜索ipfskefu,朋友圈尽知FIL
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。