Filecoin主網上線在即,今天教大家如何在IPFS上部署網站

如果想要學習IPFS和Web 3.0,那麼,我們需要先開始探索它們,並嘗試將我們的網站上傳到那裡。今天,就來開始我們的學習之旅吧。


Filecoin主網上線在即,今天教大家如何在IPFS上部署網站


什麼是IPFS?

IPFS到底是什麼呢?為什麼當我們提到Web 3.0,我們就不可避免地提到IPFS呢?

IPFS(星際文件系統)是一個能夠共享內容的分佈式網絡,他的設計並不複雜,但卻非常有趣。而我們之所以稱IPFS為星際文件系統,因為IPFS的目標是建立一個能夠在行星間工作的網絡、一個能夠更好的跨地球的通信網絡。

IPFS是一個分散的網絡,在該網絡中,通過BitTorrent等多種方式連接對等方並共享文件。基本原理與傳統的Web並不同,IPFS中的文件是根據文件的內容提供服務的,而傳統的Web是根據文件的位置提供服務的。

例如,谷歌將隱私權政策文件託管在Google服務器上,政策內容無關緊要,因此這是根據域名尋址的,我們將這稱為location-addressing(域名尋址)

但是,IPFS是使用文件的哈希值通過文件的內容來標識文件的。假設您要閱讀:“XKCD#327—Exploits of a Mom”。這使得斷開的鏈接不太可能,因為只要有一節點存儲了數據,IPFS網絡就不可能出現"404"錯誤,我們將這稱為

content-addressing(內容尋址)

如何在IPFS網絡上託管?

當我們打開一個瀏覽器,很明顯,網址都是以HTTP開頭的,也就是說,我們現在的網站是託管在HTTP超文本傳輸協議之上的。


Filecoin主網上線在即,今天教大家如何在IPFS上部署網站

那麼,我們該怎麼樣把我們的網站部署在IPFS之上,或者是如何在IPFS之上部署靜態內容(例如個人網站)呢?

接下來,我會列出可用於任何文件,例如純HTML文件,由靜態網站生成器(如Jekyll,Hugo,Hexo和Gatsby)生成的網站,甚至是媒體文件的部署方法,因此,讓我們開始吧。

  • IPFS 桌面

如果您已安裝並正在運行IPFS Desktop,則可以使用常規文件選擇器添加文件。只需導入包含您靜態網站內容的目錄即可。

Filecoin主網上線在即,今天教大家如何在IPFS上部署網站

  • IPFS CLI

IPFS CLI允許使用add子命令添加文件和目錄。


Filecoin主網上線在即,今天教大家如何在IPFS上部署網站

提示:在您的網站中使用相對鏈接非常重要,因為IPFS網關的URL類似於<gateway>/ipfs//file.ext。

/<gateway>

  • Pinning

在最後一節中,我們添加的文件可以在我們的 IPFS節點網絡中找到,這就是IPFS網關能夠解析它並將其顯示在瀏覽器中的原因。

但是,一旦關閉IPFS daemon,該站點很可能將無法訪問。即使在IPFS上請求了某些內容之後,接收節點也成為該內容的主機,但是在12小時後將對這些內容進行收集。那麼,我們如何在沒有服務器的分散式網站中全天候備份您的網站?

Welcome,Pinning

在IPFS上固定一些內容的節點將永遠託管它(直到取消pinning它)。諸如Pinata之類的固定服務,可將文件固定在其IPFS節點上。如此一來,網站將始終可用。

在Pinata中,如果內容已經上傳到IPFS,則可以上傳文件或僅提供其哈希值。這是我固定我們上面上傳的示例網站的方式。

提示:最好使用多種固定服務固定您的站點,以實現冗餘。

Filecoin主網上線在即,今天教大家如何在IPFS上部署網站

自動化部署

您可能已經注意到,使用IPFS非常容易,至少比處理我們使用的傳統網絡要容易。但是,每次您要更改文件時都必須重複此過程,這並不是很方便。因此,我們可以藉助Fleek這樣的工具,可以幫助自動完成上面列出的所有步驟。

Fleek就像Travis或CircleCi一樣用於IPFS部署。您可以將其Github帳戶與其關聯,並使用Github掛鉤,Fleek將在每次推送至Github存儲庫時觸發部署。他們還固定部署的所有內容。

Filecoin主網上線在即,今天教大家如何在IPFS上部署網站

此外,我使用Hexo生成了此博客,並且能夠在Fleek本身中添加一個構建步驟,因此無需生成HTML並將其推送到我的存儲庫。這是我使用的構建命令:

git submodule update --recursive --init && npm i && npm run build

是的,我們需要自己安裝子模塊,但是不用擔心,因為這是非常容易的。

鏈接到域

因此,現在我們可以啟動並運行我們的網站,但是IPFS上的內容不像傳統網絡上那樣容易查找。

你學會了將網站部署在IPFS之上的小技巧了嗎?如果你對此依舊不是特別熟悉,礦哥推薦你可以先借助Fleek這樣的工具哦。

歡迎大家留言討論。


分享到:


相關文章: