五分鐘學會如何在 IPFS 上部署網站

五分鐘學會如何在 IPFS 上部署網站 | 火星號精選

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

原文標題:五分鐘學會如何在 IPFS 上部署網站

如果想要學習 IPFS 和 Web 3.0,快來嘗試一下快速基於 IPFS 部署網站。

原文標題:《如何在 IPFS 上部署網站?》 撰文:IP 君

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

什麼是 IPFS?

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

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

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

例如,谷歌將隱私權政策文件託管在地址為 :「https://policies.google.com/privacy」的 Google 服務器上,在該地址中,政策內容無關緊要,因此這是根據域名尋址的,我們將這稱為location-addressing (域名尋址)

但是,IPFS 是使用文件的哈希值通過文件的內容來標識文件的。假設您要閱讀:「XKCD#327—Exploits of a Mom」。那麼,其 IPFS 地址為 https://ipfs.io/ipfs/QmZVjV5jFV7Jo4Hfj6WPyRnHCxf8kbadkqtQBco2gef64x/。關心 XKCD 的人都可以託管它。這使得斷開的鏈接不太可能,因為只要有一節點存儲了數據,IPFS 網絡就不可能出現 "404" 錯誤,我們將這稱為content-addressing (內容尋址)

如何在 IPFS 網絡上託管?

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

五分钟学会如何在 IPFS 上部署网站 | 火星号精选

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

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

IPFS 桌面

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

五分钟学会如何在 IPFS 上部署网站 | 火星号精选

IPFS CLI

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

五分钟学会如何在 IPFS 上部署网站 | 火星号精选

最後一行打印的哈希是整個目錄的 CID,因此也是我們網站的 CID。我們可以看到託管的 示例網站。

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

Pinning

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

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

Welcome,Pinning

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

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

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

五分钟学会如何在 IPFS 上部署网站 | 火星号精选

自動化部署

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

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

五分钟学会如何在 IPFS 上部署网站 | 火星号精选

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

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

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

鏈接到域

因此,現在我們可以啟動並運行我們的網站,但是 IPFS 上的內容不像傳統網絡上那樣容易查找。傳統的網站可以在 https://tarunbatra.com上找到。但在 IPFS 上,我們可以通過:「https://ipfs.io/ipfs/QmTPTa1ddoSkuakaW56SaL9dicbC71BbwfjRbVjasshCXs/」訪問當前版本。

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


分享到:


相關文章: