美文网首页区块链研习社
用IPFS来保存和共享文件

用IPFS来保存和共享文件

作者: 胡智威 | 来源:发表于2018-08-15 11:37 被阅读2次

为什么需要一个去中心化的存储

互联网上经常有这样的情况出现:有些文章如果你不抓紧时间看,那么可能就再也看不到了,只能看到各种各样的花式404提示页面。

(这里我意识流的插一段:经常有人会管被墙了叫做404,但这是不对的。404是服务器返回找不到相应资源的响应,比如原有内容被删除或者是地址输入错误。背后的原理是你和服务器已经通讯,但服务器表示你还是另请高明吧,我找不到这个内容了。而当你试图访问某些不存在的网站,例如Googl×、 Youtub×、Faceboo×等等,你根本就访问不到服务器,一般会是Connection Reset,而不是404。再简单点理解就是:对内404、对外 Connection Reset ...)

除了一些主观上的主动删除外,一些非主观的人为操作或者技术故障也会导致存储丢失的事件。最近几天,国内就有云上数据丢失的情况发生。

所以,一个过于中心化的网站或数据中心都会存在这样的数据丢失或被移除的风险。

IPFS是什么

简介

星际文件系统 IPFS (Inter Planetary File System) 是一个分布式文件存储系统,可以实现在多台计算机上存储、共享文件的功能。

我种子少,你不要骗我

那么,IPFS 和 BitTorrent 的区别在哪里呢? 的确,它给人的第一感觉是和 BitTorrent 很像。从网络的底层机制上看,他也确实和 BitTorrent 并没有什么太本质的区别,都是实现了文件的特征摘要、以及根据这个摘要的点对点存储与传输。

但 IPFS 的设计对于程序的读取更加友好,不仅仅是一个存储和下载的系统,而更像是一个基于分布式网络的文件系统,甚至可以作为一种 CDN 来使用。
以后加上了 Filecoin 等通证经济机制后,还可以诞生出来更多好玩的应用,例如 PT 这种激励用户上传、做种获取回报的极其适合用区块链方式来运行的体系。

另外,还有版本控制功能,采用了类似 Git 的实现,可以实现存储内容的多个版本。

所以,这也就是为什么IPFS的描述里会有:IPFS = HTTP web + Git + BitTorrent。也就是被设计用来取代现有的 HTTP 协议。

类似产品

IPFS 早在2015年就启动了。所以到目前,除了 IPFS 以外,还有类似产品诞生,例如: Storj 、 Sia 、 Swarm 等。

Storj

Sia

Swarm

IPFS 缺点

当然,IPFS 目前还不够完善,比较突出的主要有:

  1. 无法删除文件。也就是用户上传文件后,就失去了掌控权。最多只能从用户自己的节点上清空掉这一文件
  2. 暂时还缺少 Filecoin 这一激励层

如何保存和读取文件

IPFS 的操作使用还是比较方便的。最后,以保存和读取文件为例来解释如何使用IPFS

如何上传

  1. 首先登录 https://dist.ipfs.io/ 下载平台。
  2. IPFS 初始化
ipfs init

IPFS 检查状态是否正常。如果能显示,则为正常

ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
  1. IPFS 监控
ipfs daemon
  1. 将文件上传到IPFS平台

增加单个文件:

ipfs add xxx

增加目录:

ipfs add xxx -r

上传后需要记录下来文件的 哈希值

  1. Pin 文件
    Pin 的作用是让其他节点知道这个文件可以在我这里找的到。
ipfs pin add QmdNMBVqQJ9baQDAJMUwci8LzVK2a52cTLEHoinaKFEdFY

如何读取

搭建节点方式

最直接的方式就是搭建IPFS节点,通过命令行来get

ipfs cat QmdNMBVqQJ9baQDAJMUwci8LzVK2a52cTLEHoinaKFEdFY
ipfs get QmdNMBVqQJ9baQDAJMUwci8LzVK2a52cTLEHoinaKFEdFY

除了命令行之外,也可以web UI来访问到自己的节点:
http://localhost:5001/webui

如果使用 chrome,还有一些好用的插件,例如 IPFS Companion 来操作和查看 IPFS 节点

第三方工具方式

除了自己搭建节点外,较为方便的方式是可以通过 ipfs.io 官网来直接查看
https://ipfs.io/ipfs/QmdNMBVqQJ9baQDAJMUwci8LzVK2a52cTLEHoinaKFEdFY

还有一些国内网站也可以使用
http://www.ipfs.guide/

参考资料

  1. https://ipfs.io/
  2. IPFS 和 BitTorrent 区别
  3. What is Decentralized Storage? (IPFS, FileCoin, Sia, Storj & Swarm)
  4. How to Save a File on IPFS — A 7-Step Primer

相关文章

  • 用IPFS来保存和共享文件

    为什么需要一个去中心化的存储 互联网上经常有这样的情况出现:有些文章如果你不抓紧时间看,那么可能就再也看不到了,只...

  • ipfs pin 文件回收相关分析

    IPFS节点保存本机文件:通过add命令都会pin、永久保存。 但不是所有文件都会永久保存,执行命令 ipfs r...

  • ipfs pin 详解

    ipfs pin 简介 pin 在英文中是大头针、钉住的意思。在 ipfs 中, pin 表示将文件长期保存在本地...

  • IPFS中的IPNS是什么

    IPFS的问题 简而言之,由于IPFS是基于内容寻址的,它根据文件中包含的数据创建文件的地址。 如果要与其他人共享...

  • 二、ipfs挖矿是怎么回事?

    从上面分析来说,ipfs主要作用就是存储、读取文件,对存储节点(矿工身份)来说,就是一个存储和网络带宽共享节点。 ...

  • ipfs的基本操作

    1 添加一个文件到ipfs 基本命令: 添加文件:ipfs add 查看文件:ipfs ca...

  • 已超200w使用者!「星际大陆」带你了解AXEL IPFS固定工

    AXEL GO是文件共享应用程序,它使用AXEL IPFS固定工具存储文件,目前已有超过2,000,000的使用者...

  • IPFS初学者指南(上)

    共享经济未来的关键技术之一是星际文件系统(IPFS)。它是一个点对点(p2p)文件共享系统,旨在从根本上改变信息在...

  • 如何用XMind共享未保存的思维导图

    我们在XMind 6对导图进行局域网共享时,一般都是对XMind文件先进行保存再共享,那样是忘记保存呢,该如何共享...

  • 从入门到高阶 | 一文洞察IPFS

    IPFS是一个点对点(p2p)文件共享系统,旨在从根本上改变信息在全球及全球范围内分发的方式。 IPFS由通信协议...

网友评论

    本文标题:用IPFS来保存和共享文件

    本文链接:https://www.haomeiwen.com/subject/iypfbftx.html