caizhiguang

caizhiguang

caizhiguang is a programmer

IPFS 的 PYTHON API 参考手册:https://www.cnblogs.com/yoyo1216/p/13489699.html

ipfs cli 手册 (中文版):https://blog.51cto.com/u_9152644/5958171

IPFS 安装及基础操作(存贮目录):https://www.superc.xyz/2018/02/28/ipfs/

一、介绍

1:星际文件系统 (InterPlanetary File System). IPFS 是一个分布式的 web, 点到点超媒体协议。可以让我们的互联网速度更快,更加安全,并且更加开放。IPFS 实际上就是一个分布式文件系统。

2:互联网基于 HTTP 协议的,是中心化的,低效,成本也高。
使用 HTTP 协议每次需要从中心化的服务器下载完整的文件 (网页,视频,图片等), 速度慢,效率低.
IPFS 采用 P2P 方式,基于内容寻址(非域名寻址),文件(内容加密的哈希值)具在唯一的存在性,大大减少文件存贮的冗余。可以节省大量的带宽。且将文件分割为小的块,从多个服务器同时下载,而且就近下载 ,速度非常快.
IPFS 网络上运行着一条区块链,用来存贮互联网文件的哈希表,每次有网络访问,就在链上查看该内容(文件)的地址。

3:Web 文件经常被删除
http 的页面的 eb 文件经常被删除 (由于存储成本太高), 无法永久保存。所以经常会出现收藏的网址无法打开,404 错误。
而 IPFS 文件可以在多个节点永久保存,并且提供了文件的历史版本回溯功能 (像 git 版本控制工具一样), 可以很容易的查看文件的历史版本。

4:我们的现有互联网是一个高度中心化的网络。而分布式的 IPFS 是一个去中心化的网络,可以克服 web 的一些(如:高度依赖互联网主干网、互联网封锁,管制,监控,中心化服务器宕机等)缺点.

4、IPFS 应用意义

可以为内容创作带来一定的自由。
代表应用:Akasha Akasha( https://blog.akasha.world)是一个基于以太坊和 IPFS 的社交博客创作平台,用户创作的博客 内容通过一个 IPFS ⽹网络进行发布,而非中心服务器。 同时,用户和以太坊钱包账户进⾏行行绑定,⽤用户可以对优质内容进⾏行行 ETH 打赏,内容创作者能以此赚取 ETH,如同⼈人脑挖矿⼀一样。它没有太多监管的限制,也没有中间商抽成,内容收益直接归创作者所有。

可以降低存储和带宽成本。
代表应⽤用:Dtube Dtube(https://d.tube)是⼀一个搭建在 Steemit 上的去中⼼心化视频播放平台,其⽤用户上传的视频⽂文件都经 过 IPFS 协议进⾏行行存储,具有唯⼀一标识。相较于传统视频⽹网站,它降低了了同资源冗余程度,同时⼤大⼤大节约 了了海海量量⽤用户在播放视频时所产⽣生的带宽成本。

可以与区块链完美结合。
代表应⽤用:EOS 运⽤用 IPFS 技术解决存储瓶颈是⽬目前来看的过渡⽅方案,最典型的应⽤用就是 EOS。EOS 引以为傲的是可以⽀支 持百万级别 TPS 的并发量量,其中除了了 DPOS 共识机制的功劳之外,还归功于其底层存储设计是采取 IPFS 来解决⼤大型数据的传输效率。
EOS 将⾃自⼰己打包好的区块数据通过 IPLD 进⾏行行异构处理理,统⼀一成⼀一种便便于内容寻址的数据结构类型,并挂 载到 IPFS 的 link 上,让 IPFS ⽹网络承担存储和 P2P 检索的逻辑,⽽而不不消耗 EOS 区块链系统本身太多的计算 资源。
可以为传统应⽤用提供分布式缓存⽅方案。

二、环境搭建

1:官网(dist.ipfs.io/#go-ipfs)下载安装最新对应的 go-ipfs
安装(为方便先安装预编译二进制 ipfs)

下载最新(已编译)包#

wget https://dist.ipfs.io/go-ipfs/v0.6.0/go-ipfs_v0.6.0_linux-amd64.tar.gz

解压#

tar -zxf go-ipfs_v0.6.0_linux-amd64.tar.gz

安装#

cd go-ipfs
dir
sudo ./install

验证#

which ipfs
ipfs --help
ipfs version

配置运行 ipfs#

初始化节点 在命令行执行 ipfs init#

$ ipfs init

初始化时会默认初始化在你的用户目录下新建一个.ipfs 生成你的节点 id:如:QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv#

$ export IPFS_PATH=/ipfs

vim /lib/systemd/system/ipfs.service#

加上:Environment=export IPFS_PATH=/ipfs # 设置 IPFS 目录

修改 IPFS 默认目录,此时我们将目录放在 /ipfs 下 https://www.superc.xyz/2018/02/28/ipfs/#

查看安装情况#

$ ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

启动守护进程运行 ipfs 节点上线#

$ ipfs daemon

查看 ipfs 链接的节点#

$ ipfs swarm peers

三、上传下载
ipfs 提供了两种方式对文件进行操作

1)weiui 方式
可以进入 ipfs daemon 所在的主机,通过浏览器输入 localhost:5001/ipfs/webui 进入浏览器文件操作页面添加文件

2)命令行方式

新建文件 1.txt,内容为:123456789#

上传 1.txt#

ipfs add 1.txt

返回文件 hash 值,通过它可以找到这个文件#

通过 hash 查看 1.txt#

ipfs cat 文件 hash 值

下载 1.txt 下载到当前目录下,且文件名为默认为 hash 值#

ipfs get 文件 hash 值

上传图片#

$ ipfs add ly.jpg

下载图片#

$ ipfs cmp /ipfs/QmaYQaCwxg8pK9Z5QQC8vrb1hdBC5nV8YFGwGNVNQ3fWka > after.jpg

和原来的图片对比 就是原来上存的那个文件了#

$ cmp ly.jpg after.jpg

也可以直接在部署运行 ipfs daemon 的机器上的浏览器查看:#

http://127.0.0.1:8080/ipfs/QmaYQaCwxg8pK9Z5QQC8vrb1hdBC5nV8YFGwGNVNQ3fWka

IPFS 建一个静态网站#

上传网站目录#

cd D:\Works\ipfs_file
ipfs add -r ipfs-qkw
返回信息的最后部分,即 hash QmNpRuzmmucd5sDoC7fjfZRgo2mnaXb35hpsLQf77A96xu,就是访问的入口
https://ipfs.io/ipfs/QmYaGz9ChV3PcRuz3Zmr8XP34gxAe2gunZdtM7sKhDMqUS

使用 ipfs cat 命令,后边跟的是文件路径,操作如下:
ipfs cat QmNmGoyiFpaHx1tra4zNL2iZHAfj8JM7gETjk2hZWVGWXi/ipfs-tutorial/new/newfile

四、常用指令
https://docs.ipfs.io/reference/cli/#ipfs

五、JS HTTP client library
https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-http-client#getting-started

USE HTTP API reference
https://docs.ipfs.io/reference/http/api/#getting-started

六、IPFS 电影资源
神秘巨星:QmWBbKvLhVnkryKG6F5YdkcnoVahwD7Qi3CeJeZgM6Tq68
芳华:QmYVri7jyBdPyfR8AgBLTgyTjiJifCgpeHFiFrKxowQeq8
https://gateway.ipfs.io/ipfs/QmYVri7jyBdPyfR8AgBLTgyTjiJifCgpeHFiFrKxowQeq8
大佛普拉斯:QmdpR9iP9EhUg1rmduHqwA4ddyHNMcsR8t9saXA9BmMU4t
看不见的客人:QmYWwXkgjdhMps9mB6DyEp4zSFmDQ9U6SuqGRGovEycr49
勇往直前:QmZRJevYhADpXmCGGF6eCcP1afNEYFahDW5jxje3iyyCJS
至暗时刻:QmUPvs7iyM5ZWPQwDovRqvNzxMJHSUWNRWAWRkAsseVcvs
银翼杀手 2049:QmcUHdzKgRrcJrD5Ah46HgBHF7urWDhmAnLKYwcHaLgeGP
盗梦空间:QmQATmpxXvSiQgt9c9idz9k3S3gQnh7wYj4DbdMQ9VGyLh
狮子王:QmfHGQZNQNymHDC6b7TZjgGbh962VWQQN5oV92w9jHE4qt
祖宗十九代:QmbrwEH4AEQhUN929yPy4j5B2PfQYk3JJyG8iq7HVoXbia
疯狂动物城:QmUKaQwN2ppapUEFhbHsKoVXn2yBRM7mLpu5HQv9am7dB7
彩绘心天地:QmXg1c6qPtoQAyfrXrWnuDrUgFehnt4kLvv1hxheMUeFBC
肖申克的救赎:QmRUYeMkvirV4frGX8wcntCq6x5GqDixAjZnFj5Jg1E3qj
太空旅客:QmdxpUVnvFnert9nmEkzwwz2tWdavU3fUQzrgBsTZP5yyG

ipfs video player:https://github.com/download13/ipfstube
http://www.ipfs.guide
https://bbs.ipfs.guide/t/Resources

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。