IPFS是什麼
來自百度百科:星際檔案系統是一個旨在建立持久且分布式存儲和共享檔案的網絡傳輸協定。它是一種内容可尋址的對等超媒體分發協定。在IPFS網絡中的節點将構成一個分布式檔案系統。它是一個開放源代碼項目,自2014年開始由Protocol Labs在開源社群的幫助下發展。其最初由Juan Benet設計。
簡單來說它就是一個去中心化的P2P的檔案系統,它的部分場景類似于BitTorrent(在檔案分享和下載下傳領域),差別是BitTorrent隻是一個“中心化”的“download system”,它基于tracker server(跟蹤伺服器)來實作檔案的分布式存儲和下載下傳,而tracker server是中心化的,比如,之前世界最大的BT站之一瑞士的海盜灣就因為版權問題數次被迫關閉。而 IPFS 是一個“去中心化”的“filesystem”,意味着你可以将 IPFS mount 到你的本地電腦然後當磁盤一樣操作,而去中心化的特征更意味着它可以作為其他去中心化應用的存儲層,比如作為其他公鍊、Dapp的存儲層。
基于IPFS的應用
目前基于IPFS協定的應用五花八門:

在ETHDenver 2020送出的所有項目中,有一半是基于IPFS建構的:
https://medium.com/ethdenver/all-of-the-ethdenver-2020-project-submissions-a29124035332基于IPFS典型的應用包括:
- DTube :第一個加密分布式視訊平台,建立在 STEEM 區塊鍊和 IPFS 點對點網絡之上,未來會支援FIlecoin網絡,它旨在成為 YouTube 的替代品,允許使用者在IPFS/FIlecoin 基礎上觀看或上傳視訊,并在不可變的 STEEM 區塊鍊上進行分享或評論,同時賺取加密通證。
- Ujomusic:一個 IPFS上的音樂家的區塊鍊市場。粉絲可以購買許可權,下載下傳、試聽,也可以用于混音等用途;而且粉絲支付的錢會自動配置設定給Heap和該作品的合作方。
- Indorse:一個基于以太坊平台的社交網絡,它旨在改變目前職業社交網絡的現狀。Indorse使用了IPFS網絡用做資料存儲,保證使用者資料安全,杜絕職場欺騙現象,重制一個真實的職場社交平台。
- 3Box:基于IPFS建構的3Box聊天插件,使區塊鍊開發人員更容易參與包括私人聊天,上傳照片,喜歡文章以及與使用者生成的内容和社互動動相關的其他常見活動。
- Open Bazaar:一個結合了 eBay 和 BittTorrent 特點的去中心化商品自由交易市場。OpenBazaar 平台沒有一個中心伺服器,運用加密學做擔保,信任來自于代碼和數學,而不是人。
- Textile:一款開源照片備份手機軟體,支援在裝置上整理照片或遠端備份照片,可以将照片釋出給朋友,家人或喜愛的社群。使用者上傳的照片全部存儲在IPFS分布式存儲網絡中,旨在永久儲存,且照片都經過私鑰加密,不用怕出現當年蘋果iCloud照片洩漏的事件。
- Civic:作為一個依托IPFS技術,受以太坊支援,Civic Wallet提供了在傳統貨币和加密貨币之間過渡的靈活性,為所有人提供可靠賬戶,管理數字貨币和身份的平台。
這篇小短文暫不涉及基于IPFS的Dapp應用,就給大家簡單介紹一下怎麼用IPFS最基礎的能力 - 檔案分享,介紹的是基于IPFS Desktop這個工具,IPFS桌面用戶端是由官方社群釋出的全平台桌面用戶端,同時支援Windows 和 Mac OS,通過這款小應用可以做檔案的上傳下載下傳、檢視節點情況等。
安裝IPFS Desktop
https://github.com/ipfs-shipyard/ipfs-desktop/releases這裡可以檢視最新的可安裝版本(也可以下載下傳源代碼自己編譯,不過不太有必要),目前版本為0.13.2,疊代還是比較勤快的。
Windows版本安裝包:
https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.13.2/IPFS-Desktop-Setup-0.13.2.exeMac版本安裝包:
https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.13.2/IPFS-Desktop-0.13.2.dmg此處以Mac版本安裝為例,下載下傳安裝包安裝之後,就會有個IPFS Desktop應用:
https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/9fdafa018ee9a1a36eb3e170ef595467.png width="300px" />
但這個時候啟動IPFS用戶端可能會報錯,連不上去:
https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/0ac063ee860882a43977d1abd91585dd.png />
原因是ipfs.io官網無法解析,需要手動添加解析,MacOS情況下在 /etc/hosts 檔案中添加以下兩行:
209.94.78.78 ipfs.io
209.94.90.1 ipfs.io
使用Windows系統的話,把這兩行加到C:WindowsSystem32driversetchosts中,并運作指令“ipconfig /flushdns”立即生效。
點選IPFS Desktop的重新啟動,應該就可以看到成功連接配接的狀态了:
https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/c5b6994342fbdbad858c91cd01ea12ee.png width="350px" />
通路IPFS上檔案
https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/ce892b3cbee7e283c4edc6260a4fed97.png width="350px" />
選擇檔案菜單,即可打開控制台的檔案浏覽頁面,在位址欄中輸入檔案位址,即可通路該檔案,以下是一些鍊上分享的電影:
大佛普拉斯:QmdpR9iP9EhUg1rmduHqwA4ddyHNMcsR8t9saXA9BmMU4t
看不見的客人:QmYWwXkgjdhMps9mB6DyEp4zSFmDQ9U6SuqGRGovEycr49
勇往直前:QmZRJevYhADpXmCGGF6eCcP1afNEYFahDW5jxje3iyyCJS
至暗時刻:QmUPvs7iyM5ZWPQwDovRqvNzxMJHSUWNRWAWRkAsseVcvs
銀翼殺手2049:QmcUHdzKgRrcJrD5Ah46HgBHF7urWDhmAnLKYwcHaLgeGP
盜夢空間:QmQATmpxXvSiQgt9c9idz9k3S3gQnh7wYj4DbdMQ9VGyLh
獅子王:QmfHGQZNQNymHDC6b7TZjgGbh962VWQQN5oV92w9jHE4qt
祖宗十九代:QmbrwEH4AEQhUN929yPy4j5B2PfQYk3JJyG8iq7HVoXbia
瘋狂動物城:QmUKaQwN2ppapUEFhbHsKoVXn2yBRM7mLpu5HQv9am7dB7
彩繪心天地:QmXg1c6qPtoQAyfrXrWnuDrUgFehnt4kLvv1hxheMUeFBC
肖申克的救贖:QmRUYeMkvirV4frGX8wcntCq6x5GqDixAjZnFj5Jg1E3qj
太空旅客:QmdxpUVnvFnert9nmEkzwwz2tWdavU3fUQzrgBsTZP5yyG
比如通路看不見的客戶人,拷貝檔案位址進去,點選浏覽:
因為是個電影檔案,會提示不支援預覽,但點選下載下傳按鈕就可以直接在浏覽器裡播放觀看:
也可以下載下傳存儲視訊檔案:
https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/035ecca4a22affe1f34bcbdd8bd0e6be.png width="350px" />
檔案上傳和分享
直接把需要上傳的檔案拖拽到IPFS Desktop檔案視窗,即可完成檔案的添加,并生成該檔案的唯一通路位址,把這個位址分享出去,别人就可以直接通路了。
檢視節點情況
用IPFS Desktop工具,也可以檢視一下目前整個鍊上可通路連接配接的節點數量、位置、延遲等等資訊,目前IPFS節點的分布主要在中美歐三地為主:
其他還有一些邊角功能,可以在上面多做一些探索嘗試。