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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。