您現在的位置是:首頁 > 娛樂
技術精選丨如何在IPFS上託管個人網站
pinata怎麼讀
您正在閱讀的網站可以完全使用,而無需在伺服器上執行後端。這樣的網站被稱為靜態網站。
靜態網站向瀏覽器提供所有內容和邏輯(JavaScript)。
所有互動(例如搜尋或單擊內部連結)都是透過包含的JS指令碼進行的。
雖然這聽起來像是一個外行人所期望的,但這與網際網路的當前狀態相去甚遠。
在早期,許多網站僅由靜態HTML網站組成。如今,許多現代網站都依賴於執行中的集中式後端伺服器。
這不僅可以帶來動態體驗,而且還會導致連結失效,URL的使用壽命有限。
許多人至少經歷過一次死連結的現象,並且隨著網際網路的老化,這個問題還會加劇。
內容可定址儲存
最近對網際網路進行分散式儲存的努力,再次導致了諸如內容可定址儲存之類的技術。
網際網路上的普通URL https://lpfann。me/是任意選擇的單詞,與實際內容無關。
內容定址使用數學雜湊函式將網站的內容壓縮為稱為hash的短字串。
雜湊函式的妙處在於,它們很可能會產生唯一的輸出以及這樣的唯一地址。
這允許人們僅基於內容雜湊即可使用和交換內容的用例。IPFS(星際檔案系統)就是這種應用的一個例子 。
IPFS引入了一種用於內容的定址方案,並且它不使用中央伺服器的傳輸網路進行資訊交換。
當使用IPFS應用程式的人瞭解其他節點需要的資訊時,它們會自動充當其他節點的伺服器。
這樣就無需大型中央伺服器或內容分發網路,就可實現更強大和分散式的網際網路,如果你要使用IPFS託管網站,需要它是靜態的。
將網站設為靜態
該網站是使用Hugo構建的 ,已經產生了靜態輸出。啟用relativeURL與IPFS定址一起使用僅是重要的 。
我們還在為雨果使用學術主題。Academic使用多種外部字型和JavaScript資源來增強內容表示。雖然完全有可能託管引用非IPFS資源的IPFS網站,但它並未完全分散。
幸運的是,Academic主題還提供了一個下載工具,可將所有外部資產儲存在網站資料夾中。
在撰寫本文時,主下載器尚不支援所有資產,但是一個開放的請求增加了對大多數缺失內容的支援。丟失的另一件事是字型,這些字型最初來自我們手動下載的Google字型CDN。
現在,我們有了一個執行在本地字型和JavaScript資產1上的完整網站。
這樣,您可以下載網站檔案並終止Internet連線,您將獲得相同的體驗。
託管IPFS網站
如果我們使用IPFS對網站進行雜湊處理,則會得到如下內容雜湊:
/ipfs/QmSPZuY3K1XieH7M9zh4qs9MEGFf4GZdBv3STaiJpBaC6o
現在,
其他人可以直接使用自己的IPFS客戶端或使用可用的瀏覽器外掛之一來檢索網站。
此部落格文章的草稿經過雜湊並固定到本地IPFS節點
為了使其他人能夠檢索網站的檔案,我們必須保持IPFS節點執行或要求其他人對其進行快取(固定)。
有所謂的固定服務(例如 Pinata)提供此服務。另一個專案是 Filecoin,它建立在IPFS之上。它使用一種區塊鏈來獎勵節點以保持IPFS檔案固定,從而提供金錢激勵。
在過去的幾天中,我們尋找了將新內容新增到git儲存庫時自動固定此網站的方法 。就在昨天, Textile宣佈了在IPFS之上工作的動態儲存桶。儘管不是部落格文章的主要重點,
但他們還介紹了新的GitHub Actions,它們將內容自動部署到其免費儲存桶託管中。
我們在基於Gatsby的演示站點上擴充套件了 他們的指令碼,以與Hugo一起使用。
GitHub Action構建並將檔案推送到Textile bucket
現在,在每個推送請求之後,GitHub Action都會編譯Hugo輸出並將其推送到也固定並與IPFS一起使用的Textile桶。
每次更改並推送到儲存庫後,我們的網站內容都會自動顯示在內容雜湊下 。
域名解析
為了讓人們知道一個站點可以使用IPFS,可以使用 DNSLinks。這些是附加到DNS域的TXT記錄,它們提示可用的IPFS資源。
IPFS瀏覽器擴充套件可以檢測到這些記錄,並在訪問此類站點時自動使用IPFS進行內容檢索。
來自Textile的指令碼還包括用於DNS記錄的更新程式,該 更新程式將IPFS雜湊值釋出到Cloudflare DNS服務。每次手動發行後,此指令碼都會更新DNSLink。
以太坊名稱服務(ENS)
要擁有一個完全分散的解決方案,可以使用ENS之類的技術來替代DNS系統。
我們的網站也可以在ENS域https://pfannschmidt。eth下訪問,也可以 透過過渡連結https://pfannschmidt。eth。link/訪問,該連結 使用該eth。link服務允許沒有ENS支援的瀏覽器訪問該網站。
目前,我們手動更新了儲存在ENS中的IPFS雜湊,但是將來我們可以使其自動化。
向後相容
IPFS仍處於初期階段。大多數流行的瀏覽器不支援大多數網路使用者所必需的協議。
在此之前,還需要使用Web伺服器和DNS以傳統方式託管網站。
可以使用 Cloudflares IPFS閘道器和DNS解決方案透過普通HTTP自動提供IPFS內容。
目前,此部落格由Netlify託管, 以支援未啟用IPFS的訪問者。
總的來說,
這個過程仍然是一件複雜而艱鉅的事情。IPFS及其生態系統在穩步改善的同時,仍有許多工作要做。
幸運的是,出現了諸如Terminal。co之類的新服務 ,它們提供了端到端的分散式託管解決方案。
推薦文章
- 英國最神秘的“油炸麵包圈”,能承受波音747飛機的撞擊
當前,政府通訊總部作為英國主要情報安全機構,在航天、國防、能源、金融、交通、電信等關鍵領域負責監控來自“高階敵手”的網路威脅...
- 收藏丨銷冠都在用的24個實用外貿工具
今天,給大家推薦24個外貿人常用的實用工具網站,涵蓋郵件寫作、英語翻譯、背景調查、關鍵詞分析、資訊查詢等工具,助力外貿人提高工作效率,多多簽單,記得收藏哦...
- 王小羽:全網第一位羽毛球小天后,頻繁恰飯引爭議,一秒殺球爆紅
希望羽毛球能夠成為全民第一運動,而王小羽透過努力在短影片坐擁數百萬粉絲,現在的她早已不單單是推廣羽毛球,也走向了帶貨變現的道路,想必過不了多久...