IPFS(一)介紹與環境的搭建
IPFS(一)介紹與環境的搭建
1:What is IPFS
星際檔案系統(InterPlanetary File System). IPFS 是一個分散式的web, 點到點超媒體協議. 可以讓我們的網際網路速度更快, 更加安全, 並且更加開放
ps:這是官方的解釋
在我看來IPFS就是一個分散式檔案系統
2:為什麼會有IPFS
眾所周知, 網際網路是建立在HTTP協議上的. HTTP協議是個偉大的發明, 讓我們的網際網路得以快速發展.但是網際網路發展到了今天HTTP逐漸出來了不足.
HTTP的中心化是低效的, 並且成本很高.
使用HTTP協議每次需要從中心化的伺服器下載完整的檔案(網頁, 視訊, 圖片等), 速度慢, 效率低. 如果改用P2P的方式下載, 可以節省近60%的頻寬. P2P將檔案分割為小的塊, 從多個伺服器同時下載, 速度非常快.
Web檔案經常被刪除
回想一下是不是經常你收藏的某個頁面, 在使用的時候瀏覽器返回404(無法找到頁面), http的頁面平均生存週期大約只有100天. Web檔案經常被刪除(由於儲存成本太高), 無法永久儲存. IPFS提供了檔案的歷史版本回溯功能(就像git版本控制工具一樣), 可以很容易的檢視檔案的歷史版本, 資料可以得到永久儲存
中心化限制了web的成長
我們的現有網際網路是一個高度中心化的網路. 網際網路是人類的偉大發明, 也是科技創新的加速器. 各種管制將對這網際網路的功能造成威脅, 例如: 網際網路封鎖, 管制, 監控等等. 這些都源於網際網路的中心化.而分散式的IPFS可以克服這些web的缺點.
現在的網際網路應用高度依賴網際網路主幹網
主幹網受制於諸多因素的影響, 戰爭, 自然災害, 網際網路管制, 中心化伺服器宕機等等, 都可能是我們的網際網路應用中斷服務. IPFS可以是網際網路應用極大的降低網際網路應用對主幹網的依賴.
3:下載最新的IPFS
下載go-ipfs
3.1:官網下載
ps:這個網址開啟以後會出現很多的下載選項,我們需要下載對應的go-ipfs,會自動識別對應系統的下載連結
3.2:網盤下載
連結: https://pan.baidu.com/s/1SVe0zEY_x4cduDOAdO2MoQ
4:安裝IPFS
1)將下載好的ipfs資料夾移動的建立好的資料夾解壓,進入解壓後的資料夾,目錄結構如下:
- 測試安裝是否成功
4)檢視命令幫助
ps:在安裝執行./install.sh之後可能會出現執行ipfs version 或ipfs help 無法找到命令的錯誤,這個時候需要全域性代理翻牆,翻牆後重新執行./install.sh
5:初始化配置資訊與啟動守護程序
1)初始化ipfs
在命令列執行ipfs init
ps:初始化時會預設初始化在你的使用者目錄下新建一個.ipfs
會生成你的節點id:/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv ps:這是這是我生成的id,每個人都是不一樣的
2)檢視安裝資訊
3)啟動守護程序
ipfs daemon
這條命令是啟動一條守護程序執行你的ipfs節點
可以通過ipfs swarm peers來檢視連結的節點
6:上傳下載
ipfs提供了兩種方式對檔案進行操作
1)weiui 方式
瀏覽器輸入localhost:5001/webui進入瀏覽器檔案操作頁面這裡不做演示傻瓜式操作
ps:在節點載入頁面特別的耗費資源,電腦可能會產生卡頓,關掉就好了
2)命令列方式
我在F:盤新建了一個1.txt內容為:123456789
上傳1.txt
ipfs add 1.txt
這個 QmbbHQPfRcXmZMgwFbu8wiaA1oG3NRQcni7zDQXbuvVaXB就是檔案的hash值,通過它可以找到這個檔案
通過hash檢視1.txt
ipfs cat QmbbHQPfRcXmZMgwFbu8wiaA1oG3NRQcni7zDQXbuvVaXB
下載1.txt
ipfs get QmbbHQPfRcXmZMgwFbu8wiaA1oG3NRQcni7zDQXbuvVaXB
ps:下載到當前目錄下,且檔名為預設為hash值