在Alchemy,我們將Web3定義為基于區塊鏈技術的去中心化的互聯網生態系統。
首先,作為開發人員和構建人員,我們在理解去中心化時,通常會提起碎片化的技術堆棧概念。雖然Web3仍然處于新生階段并在迅速發展,但我們發現它的基礎構件已經開始成形。
為了更好地理解Web3和去中心化互聯網的內部工作原理,讓我們直接進入Web3開發堆棧。
在較高的層次上,構建任何Web3應用程序都需要深入理解區塊鏈網絡、Web3基礎設施和Web3開發環境。
Web3技術堆棧的基礎是區塊鏈網絡層。Web2應用程序依賴于中心化數據庫,而Web3應用程序構建在區塊鏈架構之上,以實現無需信任和無需許可的訪問。
網絡層:基礎區塊鏈架構
在選擇構建去中心化應用程序(dApp)的區塊鏈網絡時,開發人員有兩個主要選擇:兼容EVM的區塊鏈和不兼容EVM的區塊鏈。
以太坊一直是Web3開發的主要框架,其虛擬環境(即其以太坊虛擬機或EVM)存儲帳戶和余額等關鍵信息。以太坊的虛擬機還存儲了一個機器狀態,它能夠根據EVM制定的一組預定義規則,隨著每個新區塊的變化而變化。對于開發人員來說,最重要的是,EVM為智能合約的存儲和執行提供了一個框架,允許開發人員對鏈上邏輯進行編程。
隨著以太坊區塊鏈和EVM的興起,許多旨在解決以太坊可擴展性限制或昂貴交易成本的不同網絡都選擇開發與EVM完全兼容的框架。這意味著與 EVM 兼容的鏈都共享相同的軟件層——即 Solidity——運行智能合約。
與EVM兼容的區塊鏈允許開發人員利用專門為EVM鏈構建的所有相同的工具、文檔和社區,以此節省時間和金錢。
以太坊- 原始 EVM 智能合約平臺
Polygon?- 以太坊側鏈
Arbitrum?- 使用 Optimistic rollups和多輪欺詐證明的L2區塊鏈
Optimism?- 使用 Optimistic rollups 和單輪欺詐證明的L2區塊鏈
福布斯專欄作家:CBDC將不會使比特幣過時:福布斯專欄作家Sean Stein Smith今日刊文“中央銀行數字貨幣將(不會)使比特幣過時”。文章表示,比特幣可能是第一個成為主流的加密貨幣,但它只是市場上存在的數千種加密資產之一。新加密變體的引入并沒有削弱比特幣的吸引力、功能或基礎。相反,穩定幣、CBDC、其他區塊鏈和加密相關應用的激增加強了整個生態系統的健康。從這個角度來看,沒有理由認為CBDC的持續引入會使比特幣或其他加密貨幣過時。美國CBDC的引入不會立即將所有其他加密資產置于一旁,而是會開啟該領域的新一波創新浪潮。[2021/7/21 1:06:00]
Hermez?- 由 Polygon 管理的 ZK-rollups以太坊L2網絡
ZKSync?- 使用 SNARK 的 ZK-rollups以太坊L2網絡
Starknet?- 使用 STARK 的 ZK-rollups以太坊L2網絡
Avalanche?- 與 EVM 兼容的L1
Cronos?- 與EVM 兼容的L1
在選擇構建 dApp 的區塊鏈網絡時,Web3開發人員應該考慮可用的開發人員工具的深度和廣度。幸運的是,EVM兼容鏈受益于多年的以太坊開發,在開發環境方面有許多久經考驗的選擇。
Hardhat
Hardhat是一個javascript軟件開發環境,允許開發人員編譯、測試、部署和調試以太坊軟件,Hardhat可以通過靈活的插件進行擴充,使開發人員能夠輕松自定義本地區塊鏈開發環境,并附帶一套強大的故障排除和調試文檔集。
Truffle
一個由三種不同的,基于javascript的開發工具組成的套件——Truffle、Ganache和Drizzle——Truffle幫助構建者編譯、測試和部署EVM代碼,同時也為前端dApp開發提供工具。
Truffle——主要的開發環境、測試框架和部署管道
Ganache——允許開發人員快速創建本地區塊鏈
Drizzle——各種前端庫,用來連接前端組件和智能合約
Brownie
作為基于python框架的,用于EVM開發的替代品,Brownie提供了一套完整的Web3開發工具,主要基于Web3 .py包構建,用于編譯、測試和部署dApp。
最近,開發人員開始在區塊鏈上構建更多不遵循以太坊框架的dapp,因此不兼容EVM。
非EVM網絡工程師認為,EVM鏈太受以太坊框架的限制,而選擇通過設計新的結構進行創新。一般來說,非EVM區塊鏈從一開始就具有數據和交易可擴展性,并允許較高的TPS。
24小時BTC合約大單成交2.37億美元 現貨大單成交5.78億美元:據合約帝大單成交數據顯示,最近24小時BTC合約大單成交2.37億美元,其中買單1.16億美元,賣單1.2億美元;BTC現貨大單成交5.78億美元,其中買單3.24億美元,賣單2.54億美元。[2021/3/25 19:16:31]
Flow?- L1,使用 Cadence,Flow 的原生的面向資源的編程語言
NEAR?- L1,其智能合約使用 Rust 或 Assemblyscript?
Solana?- 使用 Rust C、C++ 的L1智能合約
Terra?- 將 Rust 用于智能合約的L1
雖然對于非EVM鏈有一些開發環境還不太成熟,但一些網絡已經開始為各自的鏈提供開發工具。
Flow讓開發者能夠使用原生的Visual Studio Code Extension測試Cadence智能合約的漏洞。
另一個非EVM開發環境的例子是Anchor,它允許構建和測試 Solana 合約,具有與 Solidity 和 Truffle 類似的感覺。總的來說,Anchor 的環境降低了 Rust 和 Solana 開發的障礙。
由于單個區塊鏈通常具有獨特的架構和共識機制,它們不可避免地會針對特定的用例進行更好的優化。因此,我們堅定地相信一個多鏈Web3的未來。
考慮到可互操作工具的日益多樣化,EVM框架是一個極其豐富的環境。此外,EVM兼容性為用戶和開發人員提供了一個更流暢的過程,可以通過跨鏈dApp移動流動性,并提供了熟悉的用戶和開發人員體驗。對于早期的開發人員和新協議,我們相信圍繞EVM兼容的區塊鏈進行開發,利用現有的工具、基礎設施和開發人員文檔,是一個令人信服的條件。
話雖如此,我們也認識到非EVM區塊鏈對于更有經驗的開發人員的利基功能,他們不斷增長的社區基礎,以及對早期開發人員工具支持的增加。
在選擇了區塊鏈網絡之后,Web3堆棧中的下一步是區塊鏈交互層。這一層允許開發人員和用戶向區塊鏈讀取和寫入數據。
區塊鏈交互層:用于向區塊鏈網絡讀取/寫入數據的開發人員構建塊。
如果我們不熟悉區塊鏈是如何工作的,這里有一個快速的回顧。
區塊鏈由數據區塊組成。
區塊存儲在分布式節點上。
區塊鏈中的每個節點都充當一個“迷你服務器”,它允許操作者讀寫數據區塊。
添加到區塊鏈的任何區塊都必須在網絡上的所有節點之間傳播,以實現同步。
在考慮Web3框架中的數據訪問層時,鏈上存儲是標準,因為它本質上是不可變的,并允許任何公眾個人查看/驗證它。
與區塊瀏覽器一樣,數據提供者是區塊鏈交互層的關鍵部分。對于初學者來說,它們提供了一個進入較低網絡層的窗口,并作為一個在線資源,用于檢索有關交易、地址余額、gas 費用等的實時和歷史數據。區塊瀏覽器通常用于查找支付的關鍵細節、確定不同交易的狀態或簡單地了解區塊鏈使用的總體趨勢。數據提供者為公眾提供了閱讀和解釋區塊鏈的能力。
但是,如果沒有適當的基礎設施需求,訪問和與區塊鏈數據交互可能會非常困難。
由于直接在鏈上寫入數據不具有成本效益,Web3開發人員使用EVM鏈的內置日志功能,這樣智能合約就可以通過solidity事件以一種可搜索、成本效益高的方式在鏈上“打印”信息。雖然日志記錄可以降低存儲成本,并且是對區塊鏈進行讀寫的最流行方式,但它需要一個強大的區塊鏈交互層,以確保開發人員能夠在事件發出時捕獲它們。
從歷史上看,使用區塊鏈交互層需要運行一個自托管、自維護的節點。這是一個昂貴且耗時的過程,僅運行一個以太坊節點的平均成本為8.6萬美元/年。開發人員沒有構建協議和dapp,而是發現自己將工程資源花費在管理節點的bug、回歸、磁盤問題、CPU流量峰值等方面。
運行我們自己的節點的成本導致了Alchemy的創建。在其核心,Alchemy公開了一套API,供開發人員在無需管理節點的情況下與區塊鏈進行交互。
作為一個多鏈Web3的堅定支持者,Alchemy 的 API 套件在單一熟悉的 API 框架內提供跨L1(包括以太坊網絡)、L2(包括 Arbitrum 和 Optimism)、側鏈(包括 Polygon)和非 EVM 兼容的 L1(如 Flow)的多鏈支持。
最終,Alchemy允許區塊鏈開發人員對整個Web3網絡層進行可靠和可擴展的訪問,從而使他們能夠專注于構建Web3堆棧。
表示層:更高級別的軟件抽象和前端庫
在許多方面,Web3表示層緊密地反映了Web2開發的許多方面。
為了創建和開發前端組件,許多開發人員轉向歷經過檢驗的React.js庫。有了大量的開發人員和Web3社區的追隨者,它已經成為事實上的Web3前端的標準。
Web2和Web3前端棧的一個不同之處是用于與區塊鏈數據交互的特定庫。
當與數據訪問層交互時,Web3的dApp 傾向于使用Ether.js 或 Web3.js,而不是更典型的 HTTP 請求庫,如 Axios 和 Fetch。特別是,Ethers.js 和 Web3.js 都自然支持對托管在區塊鏈交互層上的區塊鏈節點的遠程過程調用 (RPC),從而能夠更無縫地集成到開發人員的Web3技術堆棧中,并在區塊鏈讀寫數據。
在決定是選擇Ether.js 還是 Web3.js時,有幾點需要考慮。
Ether.js 是一個更輕量級的、對開發人員友好的庫,具有強大的文檔。雖然許多早期開發人員和資深開發人員都是通過Ether.js 開發dApp的,但它由少數人維護,限制了庫的開發。
Web3.js擁有最多的分叉/提交,也是被使用最多次的以太坊javascript庫。雖然它也被廣泛使用,但它缺乏ether文檔的廣度和深度,可能不是早期Web3開發人員的最佳選擇。
Web3.js的另一個替代品是Alchemy Web3,它是一個帶有附加API方法、升級的websocket支持和自動重試功能的分支,允許開發者更輕松地采用。
雖然區塊鏈為去中心化狀態管理、智能合約存儲/執行和交易價值提供了一個媒介,但更高級別的應用程序需要額外的組件。對于圖像、視頻和gif等前端內容,區塊鏈存儲非常昂貴,效率也非常低。去中心化存儲填補了這一空白。
一種解決方案是IPFS (Interplanetary File System),這是一個由節點組成的分布式網絡,每個人在其中存儲和共享文件、網站、應用程序和數據。隨著NFT的興起,IPFS的使用激增,經常作為NFT媒體資產的底層存儲介質。
另一個流行的去中心化存儲解決方案是Arweave,它旨在激勵個人永久存儲數據。通過Arweave網絡,礦工提供存儲空間以換取代幣,協議本身確保存儲的數據在所有節點上保持正確和一致。
在Web3的背景下,應用層涵蓋了DeFi、NFT、身份與認證、數據與分析以及許多其他令人興奮的dApp類別。總之,這些去中心化的Web3應用包括一些最大的Web3公司,如OpenSea、Uniswap和Aave。
作為開發人員,這通常是最有趣的構建層。可以混合和匹配不同的去中心化應用程序,將強大的原語組合成新的、復雜的產品。
應用層主要允許公共消費者(其中許多人可能不完全理解Web3開發的復雜性)輕松地與直觀的前端交互。最終,用戶友好型前端讓公眾能夠在日常生活中利用去中心化的互聯網。
總結
隨著Web3從目前的狀態發展到成熟,肯定會有范式的轉變,新的Web3基礎設施工具,以及很多需要學習的東西。
Source:https://www.web3.university/article/web3-stack
Tags:
從去年開始,很多人討論Web 3,甚至不少區塊鏈項目都紛紛以Web 3自居,其實不少人冰沒有搞懂Web 3是什么,而最近推特因為幾年前收集用戶隱私信息獲利的事情被罰1.5億美元,成為不少人關注的焦點,今天我們也恰好從隱私來說說Web 3。
前言 在NFTs方面,以太坊是王者。許多人認為它是NFTs的一站式商店,在過去的一年里,它迅速成為最熱門的話題,有時也是最熱門的區塊鏈。 然而,眾多其他區塊鏈在NFT領域內已經變得越來越受歡迎。考慮到以太坊區塊鏈帶來的高交易成本和環境影響,加密藝術家和NFT愛好者一直在尋找新的地方來鑄造和交易NFT。 但是,在選擇使用哪種區塊鏈時,需要考慮幾件事情。
對于Terra,仍是艱難的一天。 15小時前,Do Kwon發推稱,即將宣布一個UST恢復計劃。 12小時前,有消息稱,Luna 基金會LFG 正在向機構尋求籌集超過10 億美元來支持UST。
在Alchemy,我們將Web3定義為基于區塊鏈技術的去中心化的互聯網生態系統。 首先,作為開發人員和構建人員,我們在理解去中心化時,通常會提起碎片化的技術堆棧概念。雖然Web3仍然處于新生階段并在迅速發展,但我們發現它的基礎構件已經開始成形。 為了更好地理解Web3和去中心化互聯網的內部工作原理,讓我們直接進入Web3開發堆棧。
金色財經 區塊鏈5月16日訊 回顧加密貨幣十多年發展史,每個人都知道這一領域曾經發生過很多瘋狂的事情,比如:Mt. Gox在 2014 年遭受大規模黑客攻擊;美國電動汽車巨頭特斯拉購入價值約 15 億美元的比特幣;特斯拉 CEO 埃隆·馬斯克在 SNL(脫口秀節目《周六夜現場》)上為狗狗幣站臺等等。
在上一篇介紹國內NFT市場的文章中,三林提到基于區塊鏈發展而誕生的全新組織方式——DAO。 區塊鏈作為底層技術開始被廣泛運用,新的組織架構需求隨之產生,DAO就是這樣一個新事物。
原標題:《兩分鐘售出超2000份,是書還是代碼?》 5月10日,新華文軒聯合“阿里拍賣”,推出了全國首個“數字藏書”產品——阿來《瞻對》的限量3000份藏書票,開售僅2分鐘銷售數據就突破2000份,銷售界面更是引來了超過3萬次圍觀。 這個“炸街”的成果并不意外。