買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > BNB > Info

IPFS相關---Hugo和IPFS:這個博客是如何工作的

Author:

Time:1900/1/1 0:00:00

點擊上方藍字關注我們

本文由IPFS原力區收集譯制,版權所屬原作者

有趣的事實:如果您正在閱讀本文,那么您正在使用分布式web。自2019年2月中旬以來,本博客一直通過IPFS和Cloudflare分布式Web網關提供藍墨水服務。

去年11月,我寫了一篇關于如何從IPFS運行靜態網站的博客。我已經用我和我的家人使用的方式運行了幾個應用程序,我覺得是時候遷移我的博客了。由于我處理了一些問題,其中一些問題將在下面解釋,所以這比預期的要花的時間長一些,但是大約一個月前,我打開了(DNS)開關,并最終關閉了托管博客的單實例VM。

那個決定當時讓我很焦慮,但一個月的情況看起來幾乎完全好。

而黑客新聞Reddit的效果則不然

自從遷移到IPFS之后,發生了一些事情。

就在一周前,我發表了一篇關于Unicode字符串規范化重要性的博客文章,這篇文章幾乎像病一樣傳播開來,在HackerNews的首頁上排名第四,在r/programming上排名第一,并被一些流行的時事通訊收錄。(謝謝你們的愛和熱烈的討論!)

然后,在周一我發布了一個新的開源項目Hereditas,它在Reddit上也得到了很好的曝光。

對于一個月平均瀏覽量不足3000頁的博客來說,以下情況發生了:

3月13日周三,交通流量較上周同期增長5060%。在一天之內,藍墨水的頁面瀏覽量幾乎是之前一個月的兩倍。

Vitalik Buterin:已把2011年制作的游戲上傳到IPFS:金色財經報道,以太坊聯合創始人Vitalik Buterin在社交媒體上稱,我把在加密前(2011年)做的一款游戲上傳到IPFS。祝好運。

對此,Aave及LensProtocol創始人Stani表示,一件很酷的事情是,有一個哈希值,所以你可以隨時找到游戲并玩它。不知道你用什么來創建它,但是帶有Unity的webGL使得為IPFS渲染變得非常容易。[2023/5/23 15:20:23]

盡管流量顯著增加,以下是服務于網站的一個主要IPFS節點的CPU使用情況:

Nothing

由于通過IPFS分發內容,并通過CloudflareCDN提供服務,在流量激增5000%之后,BlueInk對性能和可用性幾乎沒有影響。

不僅如此:測試顯示,對于世界各地的用戶來說,該網站一直保持著驚人的速度。

MeetHugo

WithBlueInk是一個靜態網站。我將內容寫入一堆標記文件中,然后使用Hugo生成HTML頁面。整個網站(內容、主題、腳本)都是開源的,并在italypalale/WithBlueInk的GitHub上發布。

當我三年前開始寫這個博客時,我最初選擇了Jekyll,另一個流行的靜態站點生成器。但是,當我在處理向IPFS的遷移時,我必須用Hugo替換Jekyll,因為Jekyll不支持相對url。使用Jekyll,所有生成的URL都以/或固定的基本URL開始,當您通過基本URL是動態的IPFS瀏覽內容時,這將無法工作(請參閱我之前的IPFS指南,了解為什么這很重要)。

FenbushiCapital計劃3月推出基金以推動IPFS和Filecoin生態系統發展:金色財經報道,區塊鏈風投公司FenbushiCapital宣布將與ProtocolLabs合作成立資金規模為1500-2000萬美元的基金。該基金主要致力于推動IPFS和Filecoin生態系統的增長。FenbushiCapital承諾將所有籌集的資金配置到FIL中,目前FenbushiCapital和相關合伙人已注資100萬美元。FenbushiCapital計劃于2021年3月推出推出該基金。(Filecoin官方)[2021/1/12 15:57:01]

遷移到Hugo還帶來了其他一些巨大的好處。Hugo是一個用Go編寫的小應用程序,它比Jekyll(一個Rubygem)快得多。Hugo不僅在構建網站方面速度更快(實際上,它幾乎是即時的),而且由于它是一個獨立的、自包含的二進制文件,所以它在CI環境中安裝得更快。我的CI構建從5分鐘多到不到1分鐘。此外,Hugo有許多強大的、有趣的特性,并且得到了積極的維護。

MeetIPFS

星際文件系統(IPFS)是一種協議和網絡,它以對等的方式分發不可變的內容。

如果您不熟悉IPFS,可以將其視為分布式CDN。一旦啟動IPFS節點,就可以使用它在IPFS網絡上發布文檔,世界各地的其他人可以直接向您請求文檔。最好的情況是,一旦有人向您請求一個文件,他們就立即開始向其他人傳播它。這意味著在使用IPFS時,文檔越流行,復制的就越多,因此其他人下載它的速度就越快。

HBTC霍比特將于7月6日20:00開啟首期88 U/T搶購Filecoin(IPFS)云算力:據HBTC霍比特(原BHEX)交易所官方稱,為回饋廣大平臺用戶,降低用戶參與Filecoin(IPFS)的挖礦門檻,HBTC霍比特開啟將于7月6日20:00(UTC+8)開啟首期「88 U/T搶購Filecoin(IPFS)云算力」活動,霍比特隊長或者持有100 HBC以上的平臺用戶,均可以1 TB = 88 USDT的遠低于市場價參與搶購,搶購時間截至7月9日12:00(UTC+8)。

HBTC霍比特交易所是100%持幣者共享的交易平臺,獨創全新的10倍PE定價回購模型及霍比特隊長激勵模型,并推出平臺資產透明和交易數據可信機制。HBTC霍比特由火幣、OKEx等56家資本共同投資,主營幣幣、合約、OTC、期權等業務,平臺上主流幣及合約交易擁有優秀流動性和深度。[2020/7/6]

通過IPFS分發文件可以非常快且非常有彈性。由于是分布式和對等的,IPFS網絡能夠抵抗審查和DDoS攻擊。

此外,IPFS上的所有文檔都是通過其內容的散列來尋址的,所以它們也是防篡改的:如果有人更改文件中的一個位,整個散列就會更改,因此地址也會不同。

IPFS的問題在于它只是一個內容分發協議,而不是存儲服務。它更類似于CDN而不是NAS。我仍然需要一些服務器,目前我有3臺服務器,配置在一個使用IPFS集群的集群中。它們是小型、廉價的B1msVMs(1vCPU,2GBRAM),運行在Azure上,在世界上三個不同的區域。您可以閱讀我在前一篇文章中如何設置它們。

BKEX Global已成立IPFS專項生態基金:據BKEX Global官方消息,BKEX Global已于近日成立IPFS專項生態基金,第一期金額為500萬美金。據悉,該基金將用于IPFS領域底層技術及上下游軟硬件設施設備的研究及開發,包括但不限于生態布局、技術研發、礦池建設、礦機開發、社區治理等。

IPFS星際文件系統是旨在創建持久且分布式存儲和共享文件的絡傳輸協議,它是一種內容可尋址的對等超媒體分發協議。Filecoin是在IPFS其上的激勵層,通過Token激勵模式在IPFS上構建了一個去中心化存儲市場。[2020/6/23]

由于使用IPFS,這個簡單且相對便宜的解決方案能夠提供“100%”的正常運行時間,并且具有ddos抗性。這些網站會自動復制到集群中的所有節點上,這些節點會立即開始播種這些網站,而使用分布在地理位置上的vm,全世界的用戶都可以獲得很高的速度。

讓我們看看架構

博客的架構相對簡單:

將一些新代碼推送到GitHub上的主分支會觸發Azure管道中的自動構建,后者克隆源代碼并運行Hugo來構建網站(都是免費的!)您可以在azc管道中看到配置。回購文件中的yaml文件。

構建完成后,Azure管道將觸發一個自動發布任務。發布管道有兩個階段(您可以閱讀我在另一篇IPFS文章中如何配置它們):

?將文件復制到其中一個IPFSvm中,然后通過SSH調用IPFS-cluster-ctlpinadd命令將文檔添加到集群中,并在所有節點上復制它們。

禧鑰一道執行董事阿猛:只要IPFS體驗足夠好,就會推動其他分布式項目發展:2020年6月22日,由金色財經主辦,節點咨詢、IPFS100.com承辦,星際特工、麥客存儲聯合主辦的“星際漫游指南——IPFS技術與應用研討論壇”在深圳拉開帷幕。禧鑰一道執行董事阿猛在主題為《IPFS的突圍與機會》的圓桌論壇中指出,中心化存儲本身會帶來一些問題,5G上來以后數據是爆發式增長的,IPFS和中心化存儲是平行的,IPFS需要以用戶作為支撐,而且體驗要足夠好,也許未來的改變,長遠一點會影響到分布式計算。[2020/6/22]

?調用Cloudflareapi來更新DNSLink,即TXTDNS記錄_dnslink.withblue。包含網站的IPFS散列的墨水。

雖然第一階段是自動發生的,但是在第二階段運行之前,有一個gate需要管理員(我!)手動批準。這讓我可以測試并確保網站通過IPFS成功加載(使用它的完整散列),然后才允許任何人訪問blue.ink。

發布管道完成后,任何運行IPFS守護進程的人都可以訪問這個IPFS地址:

/ipns/withblue.ink

這很簡單,也很容易記住。但是它只適用于那些有IPFS守護進程運行的人,或者知道如何使用網關的人(例如,嘗試使用gateway.IPFS.io)。

如果您想嘗試IPFS,Firefox和Chrome的IPFS-companion擴展允許您通過外部網關或內置網關輕松瀏覽IPFS網絡。

大多數用戶仍然在使用HTTP和普通的web瀏覽器,這時Cloudflare提供了幫助。Cloudflare網絡中的邊緣節點通過其(免費)分布式Web網關可以充當IPFS網關,并為通過IPFS網絡發布的文檔提供服務。設置非常簡單,如果Cloudflare管理您的DNS,由于CNAME扁平化,您也可以使用根域名(如withblue.ink?withoutwww)!

學習從real-worldexperience

我通過IPFS提供web應用程序已經有6個月了,這個博客也有一個多月了。總的來說,我有一個積極的經驗,但如果你正在考慮自己使用IPFS,那么我學到了一些值得分享的東西。

進展順利

總的來說,依賴IPFS帶來了一些有趣的好處。

通過IPFS網絡為文檔提供“100%”的正常運行時間。只要至少有一個對等點在提供內容,因為它最近瀏覽了網站(任何類型的客戶端),或者固定了它(我的三個服務器),就可以通過IPFS訪問博客。

速度:通過IPFS訪問網站的用戶越多,其他人訪問該網站的速度就越快。

該網站還應該以一種自然的方式來抵抗ddos。

然而,實際上,大多數用戶并不通過IPFS訪問這個博客,而是通過Cloudflare網關通過HTTP訪問它。這個方法仍然很有效:

由于IPFS中的每個文檔都是不可變的,Cloudflare正在世界各地的每個edge節點中廣泛緩存網站。只要DNSLink是相同的,CDN就不需要連接到上游服務器來檢查新內容。來自全球多個位置的延遲測試顯示一致的、快速的頁面加載時間。當你的博客首頁在大約3秒內加載完畢(包括圖片),并從地球上的每個角落或多或少地持續加載一個新的緩存時,這是相當令人印象深刻的。

設置非常簡單。除了將CNAME指向Cloudflare網關并要求他們為我的域啟用TLS證書之外,一切都很正常。不需要配置高可用性、負載平衡、跨多個服務器復制內容等。

CloudflareCDN還為您做了很多了不起的事情,包括支持HTTPS和HTTP/2.0(SPDY!)、gzipping響應等。

我學到的/還可以做得更好

HTTP在這個月已經有30年的歷史了,而IPFS仍然是一項新技術。使用IPFS,有些東西的工作方式與我們習慣的不同,而另一些則根本不起作用。

IPFS不是serverless;當然也不是免費的。您確實需要至少一個服務器來播種您的數據。好消息是,您不需要大型服務器。一個易崩潰的單核VM提供了足夠的CPU;但是,如果您也運行IPFS集群,則需要2GB內存。像我這樣添加三個節點可能有點過火了(但這是一個很好的學習經驗,而且非常有趣)。

您網站中的所有url必須是相對的。我在上一篇關于IPFS的文章中詳細解釋了這一點。簡而言之,因為用戶可以通過多個基本url訪問您的網站(在我的例子中是https://withblue)。墨水/https://<網關>/施用肥料/withblue。或者https:///ipfs/),您不能在HTML頁面中使用絕對url。這也是我不得不從哲基爾轉到雨果的主要原因。

正如我上面所寫的,大多數用戶不是直接通過IPFS瀏覽網站,而是通過Cloudflare。這意味著我們的實際正常運行時間取決于他們。雖然Cloudflare到目前為止對我來說運行得還不錯,但他們并沒有為他們的免費服務提供SLA,而且IPFS網關是否有SLA就更不清楚了。遺憾的是,目前我還沒有多少訪問者使用IPFS的數據,但我希望他們只是少數。

當使用CloudflareIPFS網關時,有些東西是不可用的,包括:

無法設置自定義HTTP頭。在兩種情況下,這可能是一個問題:當您想要啟用HSTS時(根本沒有辦法這樣做),以及當您想手動設置內容類型時(IPFS網關根據文件擴展名確定內容類型,并使用一些啟發式方法,請參閱這個問題)。

沒有自定義404頁面。

沒有服務器端分析,甚至沒有通過Cloudflare。您唯一的選擇是使用像谷歌Analytics這樣的托管解決方案。

我注意到的另一個問題是,當您更改DNSLink的值時,CloudflareIPFS網關并不總是可靠地清除緩存。每個人要花好幾個小時才能看到最新的內容。這是迄今為止我遇到的最大問題。

在更新DNSLink值之后,可能會出現冷啟動時間問題,第一個頁面加載需要額外的幾秒鐘,但以我的經驗來看,這并不太糟糕。之所以會發生這種情況,是因為Cloudflare網關中的IPFS客戶機需要遍歷DHT,以找到為您的內容提供服務的節點。一旦內容被復制,這就變得越來越快,到一定程度就不再是問題了。

最后,我在運行IPFS節點時遇到的一個問題是,它可以使用相當多的帶寬,僅用于使網絡工作(甚至不用于服務您的內容!)使用IPFS0.4.19可以極大地緩解這一問題,但是我的Azurevm仍然測量出大約160GB/月的出站流量(使用IPFS0.4.18可以測量到超過400gb的出站流量)。

上述許多問題,包括緩存、冷啟動時間、服務器端分析、自定義HTTP頭和404頁面,都可以通過實現自定義IPFS網關而不是依賴Cloudflare來緩解。這是官方的ipfs。io網站也是如此;如果Cloudflare上的緩存問題沒有得到改善,我正在考慮這個問題。

總部位于上海,深耕IPFS社區發展與商業生態建設。

Force系列產品布局IPFS商業應用,貫通視頻娛樂、文件共享、瀏覽器入口、數據加密管理等服務,為企業與個人的使用提供一站式服務。

旗下IPFS原力區是IPFS頂級價值生態社區,聚集了眾多技術大咖和IPFS愛好者,通過持續輸出全面、精細、優質的IPFS咨詢和技術支持,將生態中的愛好者轉化為IPFS支持者和參與者,推動IPFS生態的健康發展。

Tags:CLOOUDLARAREcloak幣總量CloudnameTalaria Inuflare幣和apt幣

BNB
LIB:Libra的想象力和現實阻力_BOOMER價格

OKResearch團隊通過長期跟蹤Libra官方動態,研究Libra白皮書以及對LibraNetwork進行技術測試,全面解讀Libra的核心機制及重要創新.

1900/1/1 0:00:00
比特幣:隨著百度,Facebook等白皮書發布,2019你必須關注巨頭區塊鏈!_區塊鏈用大白話解釋

2018年12月 百度度小滿公有鏈 發布區塊鏈白皮書 http://chain.duxiaoman.

1900/1/1 0:00:00
區塊鏈:獨家專訪 | AIPE CEO Dan:區塊鏈技術與AI相輔相成,加密貨幣行業未來可期_AIP

近日,在接受火星財經APP專訪時,AIPECEODan分享了自己對人工智能結合區塊鏈的思考,他表示:區塊鏈和人工智能兩項技術非常互補,相輔相成.

1900/1/1 0:00:00
GEC:關于ZT三期Explorer預告的公告_BABYDOGECASH幣

尊敬的ZT用戶:ZT三期Explorer項目GECT將于6月28日正式上線搶購,具體項目詳細介紹和搶購細則將于近期公布,請關注官方公告.

1900/1/1 0:00:00
區塊鏈:網易房產、武昌創業中心攜手索渭傳媒 打造第一個武漢區塊鏈創業Club_DOMI

6月18日下午,由網易房產、武昌創業中心及索渭傳媒共同發起的“區塊鏈行業集聚戰略發布會”,在江城武漢如期舉行.

1900/1/1 0:00:00
FACE:比特幣新時代 彭博社等20家頂級媒體點評Facebook加密貨幣Libra_元宇宙概念是什么意思Facebook

Facebook將為加密行業注入新能量,帶來人才、關注和資金。金錢不等于成功,但它能增加成功的幾率。一天之間,Facebook登上全球商業媒體頭條.

1900/1/1 0:00:00
ads