0
先来一段摘录的IPFS的介绍,装个B。
IPFS:星际文件系统IPFS(InterPlanetary File System)是一个面向全球的、点对点的分布式版本文件系统。目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(HTTP),将所有具有相同文件系统的计算设备连接在一起。
原理用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。
说白了,IPFS就是一套运用区块链进行在线存储的技术。
1
在区块链上存储数据是一件昂贵的事情。通过以太坊的公链进行转账,只是在区块链上写下几百字节的数据,就需要价值好几块钱的ETH的矿工费,要是在以太坊上存一部电影,那还不得付矿工费付到倾家荡产啊。
习惯了免费在线存储的我们怎么受得了这个。
君不见,百度云几个T的存储空间,也是可以免费使用的。
君不见,利用P2P下载技术,只要有种子,下载多少小电影也是免费的啊。
2
区块链存储确实很昂贵。
但是总不能智能合约都部署到区块链了,程序产生了大量的数据,最后却没有钱存储数据,这就尴尬了。
不是可以存在数据库中吗?
是的。一些不太重要的数据自然是可以存在数据库中,但是重要的数据却仍然需要放在区块链中。
区块链的一个重要的特点就是机器信任,搞了半天,程序部署到区块链了,可以信任了,数据还是放到传统的数据库中,数据库管理员想怎么改就怎么改,那还费那个劲头用智能合约干啥子呢?
这个时候,不论是云存储还是自己买的服务器搭建的数据库存储,本质上都是传统的数据库,都是人为可以修改数据的,不可信任。所以区块链上的智能合约产生的重要数据一定要用区块链这个不可篡改的数据库来存储。
3
以太坊存储数据太贵,那么快要上线的EOS不是可以免费转账,免费存数据吗?
这个是真的。所以那么多人才去奶EOS啊,免费的力量是巨大的。
可是这个免费是有前提的,需要锁定EOS才能实现的,这也是成本啊。锁定的EOS换来的EOS节点上的CPU、硬盘、内存和带宽等资源既要运行智能合约,又要存数据,是不是太不够用了。
如果仅仅锁定上面所提到的一半的EOS去运行智能合约,而再加很少的钱就可以解决在区块链上进行数据存储的问题,那不就划算多了。
这个时候,就需要IPFS这样的专业的区块链数据存储的项目了。
4
这样也可以看出IPFS这个区块链云存储项目和传统的数据库、以及云存储等技术的异同点了。
费用问题。IPFS目前是不收费的,但是以后肯定是需要花费token去存储的。
不可篡改。区块链的特色,机器信任的核心思想:信息一旦写到IPFS上,就删不掉了。
综合以上两点,可以看出,IPFS主要的用途不是给我们当网盘用,而是用比较低的成本存储一些需要永久保存的数据。
5
不过呢,要是有人把他当网盘用,咱也不反对是吧。
看,有人就把电影上传到了IPFS上了。我这里摘录几个。
分享几部电影视频的 HASH 供研究和学习,涉及版权问题,请勿用于商业用途。
芳华:
QmYVri7jyBdPyfR8AgBLTgyTjiJifCgpeHFiFrKxowQeq8
你可以直接点击链接直接观看,不过要翻墙。币圈的人,翻墙还不是“跐溜”一下的事情。
细心的你一定发现这些网址都是http://ipfs.io/ipfs/的前缀加上文件的hash码组成的,这就是IPFS的存储服务器的访问方式,是不是很简洁明了。
6
下面是不想看电影,想了解一下如何把本地文件写到IPFS中的人的分割线。
首先,打开IPFS的官网的下载页面:https://ipfs.io/docs/install/,从页面中下载windows、mac或者linux系统对应的版本即可,页面中也有安装说明。
以windows系统为例。
Windows
After downloading, unzip the archive, and move
ipfs.exe
somewhere in your%PATH%
.
windows系统的安装说明的意思是:下载,解压,然后把ipfs.exe文件复制到你的%PATH%目录。
一般情况下,我们的windows电脑的%PATH%目录是都包含一个系统定义的地址,我们直接把ipfs.exe文件移动到C:\Windows\system32文件夹下即可。
如果想看一下%PATH%路径,这里有一篇文章,win7电脑怎样修改环境变量,讲的是怎么修改电脑上的%PATH%。
把ipfs.exe文件复制到%PATH%路径的目的就是为了可以在命令行中运行ipfs的命令。
那他们又是为什么不开发个界面出来,方便大家用鼠标操作呢,因为这些程序员都忙着开发IPFS的重要功能,没空做界面。哈哈,纯属猜测啊。
7
按下组合键win+R,打开运行窗口,输入cmd命令,打开命令行那黑洞洞的窗口。
输入d:,切换到d盘,其他盘符都可以。
输入ipfs init,在本地电脑初始化一个ipfs的文件夹。
输入ipfs daemon,启动ipfs的本地节点,以用来和其他节点进行同步,当出现Daemon is ready的时候就是启动完成了。
按下组合键win+R,打开运行窗口,输入cmd命令,另外打开一个命令行的窗口,并切换到需要上传的文件的文件夹下。用ipfs add dayuhao.jpg命令上传一个图片文件。
命令行中出现added QmYtzDtwr7CuN9d8dRCoPY6ir9k3LXdMZU5VFjL3xXNcur dayuhao.jpg,说明文件上传成功。
用QmYtzDtwr7CuN9d8dRCoPY6ir9k3LXdMZU5VFjL3xXNcur这个哈希值,去打开网页http://ipfs.io/ipfs/QmYtzDtwr7CuN9d8dRCoPY6ir9k3LXdMZU5VFjL3xXNcur,就可以出现一个大于号的图片了。
8
好了,这张大于号的图片就没有人可以删除它了,这个链接的地址也永远属于这张图片了。
想把你的重要文件永久的存储在IPFS中吗?
试试吧。