IPFS(一)介紹與環(huán)境的搭建
1:What is IPFS
星際文件系統(tǒng)(InterPlanetary File System). IPFS 是一個分布式的web, 點到點超媒體協(xié)議. 可以讓我們的互聯(lián)網(wǎng)速度更快, 更加安全, 并且更加開放
ps:這是官方的解釋
在我看來IPFS就是一個分布式文件系統(tǒng)
2:為什么會有IPFS
眾所周知, 互聯(lián)網(wǎng)是建立在HTTP協(xié)議上的. HTTP協(xié)議是個偉大的發(fā)明, 讓我們的互聯(lián)網(wǎng)得以快速發(fā)展.但是互聯(lián)網(wǎng)發(fā)展到了今天HTTP逐漸出來了不足.
HTTP的中心化是低效的, 并且成本很高.
使用HTTP協(xié)議每次需要從中心化的服務(wù)器下載完整的文件(網(wǎng)頁, 視頻, 圖片等), 速度慢, 效率低. 如果改用P2P的方式下載, 可以節(jié)省近60%的帶寬. P2P將文件分割為小的塊, 從多個服務(wù)器同時下載, 速度非诚考瘢快.
Web文件經(jīng)常被刪除
回想一下是不是經(jīng)常你收藏的某個頁面, 在使用的時候瀏覽器返回404(無法找到頁面), http的頁面平均生存周期大約只有100天. Web文件經(jīng)常被刪除(由于存儲成本太高), 無法永久保存. IPFS提供了文件的歷史版本回溯功能(就像git版本控制工具一樣), 可以很容易的查看文件的歷史版本, 數(shù)據(jù)可以得到永久保存
中心化限制了web的成長
我們的現(xiàn)有互聯(lián)網(wǎng)是一個高度中心化的網(wǎng)絡(luò). 互聯(lián)網(wǎng)是人類的偉大發(fā)明, 也是科技創(chuàng)新的加速器. 各種管制將對這互聯(lián)網(wǎng)的功能造成威脅, 例如: 互聯(lián)網(wǎng)封鎖, 管制, 監(jiān)控等等. 這些都源于互聯(lián)網(wǎng)的中心化.而分布式的IPFS可以克服這些web的缺點.
現(xiàn)在的互聯(lián)網(wǎng)應(yīng)用高度依賴互聯(lián)網(wǎng)主干網(wǎng)
主干網(wǎng)受制于諸多因素的影響, 戰(zhàn)爭, 自然災(zāi)害, 互聯(lián)網(wǎng)管制, 中心化服務(wù)器宕機等等, 都可能是我們的互聯(lián)網(wǎng)應(yīng)用中斷服務(wù). IPFS可以是互聯(lián)網(wǎng)應(yīng)用極大的降低互聯(lián)網(wǎng)應(yīng)用對主干網(wǎng)的依賴.
3:下載最新的IPFS
下載go-ipfs
3.1:官網(wǎng)下載
ps:這個網(wǎng)址打開以后會出現(xiàn)很多的下載選項击碗,我們需要下載對應(yīng)的go-ipfs,會自動識別對應(yīng)系統(tǒng)的下載鏈接
3.2:網(wǎng)盤下載
鏈接: https://pan.baidu.com/s/1SVe0zEY_x4cduDOAdO2MoQ 提取碼: 7dtz
4:安裝IPFS
1)將下載好的ipfs文件夾移動的創(chuàng)建好的文件夾解壓们拙,進入解壓后的文件夾稍途,目錄結(jié)構(gòu)如下:
2)運行install.sh
3)? 測試安裝是否成功
4)查看命令幫助
ps:在安裝執(zhí)行./install.sh之后可能會出現(xiàn)執(zhí)行ipfs version 或ipfs help 無法找到命令的錯誤,這個時候需要全局代理翻墻睛竣,翻墻后重新執(zhí)行./install.sh
5:初始化配置信息與啟動守護進程
1)初始化ipfs
在命令行執(zhí)行ipfs init
ps:初始化時會默認初始化在你的用戶目錄下新建一個.ipfs
會生成你的節(jié)點id:/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv ps:這是這是我生成的id晰房,每個人都是不一樣的
2)查看安裝信息
3)啟動守護進程
ipfs daemon
這條命令是啟動一條守護進程運行你的ipfs節(jié)點
可以通過ipfs swarm peers來查看鏈接的節(jié)點
6:上傳下載
ipfs提供了兩種方式對文件進行操作
1)weiui 方式
瀏覽器輸入localhost:5001/webui進入瀏覽器文件操作頁面這里不做演示傻瓜式操作
ps:在節(jié)點加載頁面特別的耗費資源,電腦可能會產(chǎn)生卡頓射沟,關(guān)掉就好了
2)命令行方式
我在F:盤新建了一個1.txt內(nèi)容為:123456789
上傳1.txt
ipfs add F:/1.txt
這個 QmbbHQPfRcXmZMgwFbu8wiaA1oG3NRQcni7zDQXbuvVaXB就是文件的hash值,通過它可以找到這個文件
通過hash查看1.txt
ipfs cat? QmbbHQPfRcXmZMgwFbu8wiaA1oG3NRQcni7zDQXbuvVaXB
下載1.txt
ipfs get QmbbHQPfRcXmZMgwFbu8wiaA1oG3NRQcni7zDQXbuvVaXB
ps:下載到當(dāng)前目錄下与境,且文件名為默認為hash值