以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

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%。在一天之內,藍墨水的頁面瀏覽量幾乎是之前一個月的兩倍。

螞蟻集群CEO杜鵬:IPFS是Web3.0時代的核心 螞蟻集群助力B端企業快速進入新賽道:金色財經現場報道,由西安市區塊鏈技術應用協會主辦,開源礦池、PolkaBase、金色財經聯合主辦,鏈上ChainUP、螞蟻集群聯合承辦的“探索 · 創新 · 共贏Web3.0生態大會”于今日在西安盛大召開。

螞蟻集群CEO杜鵬在圓桌環節中發言指出:Web3.0時代能夠有效解決Web2.0階段的“不公平問題”,推動互聯網勞動價值的重新分配與數據所有權的回歸個人;而想要實現這一目的,IPFS則是最為核心的基礎設施之一。螞蟻集群作為一家專業的IPFS分布式存儲整體解決方案提供商,致力于為B端企業和機構提供全流程的品牌孵化,從0經驗到全面落地目前只需7-10個工作日,助力所有愛好者快速進入IPFS生態這一個全新賽道。[2020/12/19 15:47:14]

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

Nothing

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

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

MeetHugo

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

BM:類似于IPFS的技術有助于實現去中心化:EOS創始人BM(Daniel Larimer)今日發推稱,要真正實現去中心化,我們必須超越web瀏覽器和DNS,將需要類似于IPFS的技術。[2020/10/27]

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

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

MeetIPFS

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

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

姚前:交易所丟幣有可能是“監守自盜”,IPFS等是將來重要發展方向:7月12日上午,在清華大學公共管理學院與騰訊研究院聯合打造的 “明德為公,智達行果-2020公益數字經濟直播講堂”,中國證券監督管理委員會科技監管局局長,信息中心主任姚前進行了直播,談及“盜幣”時表示,“幣丟了,(很大程度)是你把私鑰托管給某一個數字資產交易所,數字資產交易所沒有保管好你的私鑰,(甚至)很可能是監守自盜出現的資產丟失,對外就說數據被攻破、被破產。”

談到IPFS時表示“金融科技實際上是算力突破某一個臨界點之后,數據和算法的一個融合。一些技術完全可以融合。區塊鏈鏈上數據非常寶貴,不可能存大量的數據。現在有人提出IPFS(分布式文件系統),怎么去和大數據分析結合起來,怎么通過區塊鏈來讓數據可信,怎么通過大數據分析來使得數據更具智慧,都是將來的重要發展方向。”

對于國內區塊鏈產業發展,姚前表示,區塊鏈應用在蓬勃發展,但代碼抄襲現象嚴重,很多單位就復制了一個開源的東西改了改參數,就當作自己的獨門秘籍來用,共識的方向、隱私保護的方向、安全的方向、跨鏈的技術,這些技術研究還是要深入,不能老抄人家東西。(吳說區塊鏈)[2020/7/12]

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

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

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

幣贏CoinW即將開展第11期Fansup“IPFS打折搶購“活動:據官方消息,幣贏即將開展第11期Fansup“IPFS打折搶購”活動,可享受3折超低搶購優惠,所有完成CoinW實名認證的用戶提前購買USDT,即可參與本次搶購活動。首輪搶購時間為今天下午14:00開啟,共90分鐘搶購時間,詳情見原文鏈接。[2020/7/1]

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

讓我們看看架構

博客的架構相對簡單:

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

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

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

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

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

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

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

發布管道完成后,任何運行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:LARARECLOCloudWixlarOne Basis ShareClown PepeBonusCloud

芝麻開門交易所下載
Facebook加密貨幣項目Libra白皮書要點_LIB:BOOK

千呼萬喚始出來,正如外界期待的那樣,6月18日Facebook加密貨幣項目Libra白皮書正式發布.

1900/1/1 0:00:00
為區塊鏈游戲而生 ERC-1155成為以太坊正式代幣標準_TOKEN:qsttoken

早在一年前,Enjin首席技術官WitekRadomski將ERC-1155多代幣標準的第一個版本推送到了以太坊的Github存儲庫.

1900/1/1 0:00:00
2019全球數字貨幣趨勢及最新監管政策_數字貨幣:比特幣

進入2019年,數字貨幣市場表現良好,主流幣種都出現了持續回暖的跡象。6月17日,比特幣站上9000美元大關,并一舉創下13個月以來的新高.

1900/1/1 0:00:00
比特幣十年 終于等到你 Libra不是“烏托邦” “吐槽版”_BAR:BARD價格

本文不提及Libra白皮書全文內容,請自行網絡查閱!七年幣圈走過,閱幣無數,一篇薄見,留個印記,見證此刻.

1900/1/1 0:00:00
關于 BICA 停止計息及下架交易的通知公告_LBA:lbank交易平臺哪個國家

尊敬的LBank用戶: LBank于今日收到BICA項目方通知,BICA因受中美貿易戰及當地政府機關AML政策影響,將于明日起停止「BICA穩定幣登陸LBank持幣利息天天有」的每日利息發放.

1900/1/1 0:00:00
OKEx上線Algorand(ALGO)【6.21更新】_ALGO:okex

親愛的OKEx用戶: OKEx上線Algorand,具體時間如下:ALGO充值:2019年6月20日20:00;TUSD運營商TrustToken獲a16z、Alameda等1250萬美元投資:.

1900/1/1 0:00:00
ads