首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IPFS学习笔记(一)安装IPFS并提交自己的静态文件

IPFS介绍

一种点对点的分布式文件系统。网络上对于这个概念有很多详细的阐述,通过我个人的学习过程,说一下我的理解:首先,IPFS应该是一种系统,而不仅仅是一种点对点的协议,它在实现点对点通信方式的同时,还包括了git版本控制系统、共识机制(比如文件所在节点的同步、分布哈希表的更新等)等。IPFS的功能,在某些程度上可以更好的代替现有的htpp协议。因为在IPFS系统里面,每一个加入的机器都是一个平等的节点,系统上的文件被多个节点保存,所以它的通信不需要服务器一直开启,因为每一个保存这份数据的节点都可以作为通信的服务器,同时也不会存在由于某一台服务器宕机,导致数据丢失的情况。

安装IPFS

安装IPFS,官网给出了两种安装方式。

第一种:直接下载IPFS的压缩包,自己解压安装。

访问网址:https://dist.ipfs.io/#go-ipfs,并下载本机器版本的压缩包。

linux或者Mac,使用命令:

安装完成之后输入ipfs,会显示IPFS的使用帮助。

第二种:使用工具ipfs-update安装。安装此工具需要机器自身安装有1.8以上的go版本。

如果机器没有go环境,首先需要安装go环境。安装之后输入go version 查看版本是否高于1.8。

安装ipfs-update工具:go get -u github.com/ipfs/ipfs-update

使用ipfs-update工具安装IPFS最新的版本:ipfs-update install latest

在ubuntu与mac上测试两种安装方法,建议使用第一种安装。在ubuntu16.04下安装go环境,安装1.8以上的版本比较麻烦,导致我安装一直没有成功。相对来说,第一种安装IPFS更简便一些。

在本地初始化节点添加文件

初始化本地节点

IPFS集成了git,所以使用ipfs初始化本地节点类似于git的初始化本地仓库。

命令:ipfs init

初始化节点之后,会在机器的根目录下生成一个.ipfs的目录,使用命令查看readme文件

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

其中的哈希值换成自己的。

添加文件到本地节点

命令:ipfs add -r 风景.jpg

切换到需要提交的文件目录,输入命令将文件添加到本地节点。

可以添加文件和目录。执行命令回车之后,会显示该文件的hash值与该文件的名称如下图。

节点保存的并非我们文件的名字,而是与文件内容有关的哈希值。

当我们把文件添加到本地节点服务器的时候,还需要同步到网络中去,这样其他节点才可以访问我们的文件。

将本地节点同步到网络

命令:ipfs daemon

该命令是将本地节点服务器的文件同步到网络上,同步之后相当于将文件上传到了IPFS系统网络里面,会广播给其他节点进行保存,防止文件到丢失。下图命令将本地文件同步到网络,不要关闭这个终端,关闭之后,daemon服务就会停止运行,无法同步到网络。

其他信息查看,查看节点服务器信息:ipfs swarm peers可以查看存在的节点服务器信息,包括了ip地址,端口,节点服务器的id。

查看节点id:ipfs id

使用IPFS提供的网关访问文件

使用IPFS提供的网关访问提交的文件,输入gateway.ipfs.io/ipfs/hash值可以访问同步到IPFS系统上的文件。

https://gateway.ipfs.io/ipfs/QmPi465oc1N6VFJYkNkuyCoyixZfgSjA8zSxNBLd6X9F67 风景.jpg

-END-

若在学习过程中遇到问题,请留言给我们,我们会及时回复与您进行探讨。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208G1F57R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券