IPFS实现去中心化应用程序实践

1、IPFS简介


IPFS(InterPlanetary File System)是一个点对点的分布式超媒体分发协议,它整合了过去几年最好的分布式系统思路,为所有人提供全球统一的可寻址空间,包括Git、自证明文件系统SFS、BitTorrent和DHT,同时也被认为是最有可能取代HTTP的新一代互联网协议。

IPFS用基于内容的寻址替代传统的基于域名的寻址,用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。我们将一个文件放到IPFS节点中,将会得到基于其内容计算出的唯一加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。当IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。

IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有静态网站。


协议实现:
Go、JavaScript、Python

客户端库:

Go、Java、JavaScript、Python、Scala、Haskell、Swift、CommonLisp、Rust、Ruby、Swift、PHP、C#

IPFS提供了一个友好的WEB访问接口,用户可通过http://ipfs.io/hash

获取IPFS网络中的内容,也许在不久的将来,IPFS协议将会彻底替代传统的HTTP协议。


2、IPFS本地环境安装

2.1 下载ipfs压缩包

— 进入IPFS.io官网,点击“Get started

Gn6Z6O.jpg

— 页面会下拉,然后点击“install IPFS Desktop
Gn6V1K.jpg

— 然后会跳转到IPFS在Github上所在的安装程序托管代码空间,或者你可以手动在地址栏输入:https://github.com/ipfs-shipyard/ipfs-desktop。
Gn6eXD.jpg

— 到该页下面找到: IPFS-Desktop-Setup-0.10.4.exe,根据你所在的系统环境下载所属的安装包,即可进入下载进度。
Gn6Ep6.jpg

2.2 “IPFS desktop” 安装


— 进行安装

Gn6kfx.jpg

2.3 IPFS的安装包下载


— 官网首页找到“install IPFS”,点击”Command line
GnXMQS.jpg

— 进到”install IPFS”页面,找到“ download IPFS for your platform”点击即进入下载该安装包
GnXuz8.jpg

— 下载后,解压缩安装包,为ipfs的安装程序:go-ipfs
GnXmJP.jpg

到此步,需要用到的安装步骤已完成,后面就是配置和应用部分。


3、项目配置

3.1 创建ipfs节点

3.2 修改节点默认存储空间

3.3 查看节点id

3.4 启动节点服务器

3.5 跨域资源共享CORS配置

3.6 验证

Block.Chan(程伟) wechat
欢迎关注区块新看点