原文: 《A simple guide to the web3 developer stack》by Jonathan King,Connor Dempsey, &Hoolie Tejwani

編譯:胡韜,鏈捕手

儘管比特幣和以太坊的興起,以及DeFi、NFT、GameFi 和DAO 等新類別的出現,web3 開發人員在全球3110 萬軟件開發人員中的佔比不到1%。

那麼為什麼如今web3 的開發者這麼少呢?一方面,web3 開發人員可用的工具和基礎設施遠不如web2 強大。這只會讓在web3 中開始構建、試驗和部署變得更加困難。然而,這一切都在迅速改變,因為每月活躍的web3 開發人員的數量在2021 年底創下歷史新高。為了支持這種不斷增長的意外情​​況,一個充滿活力的團隊生態系統致力於簡化整個web3 開發人員的旅程,最終將幫助開啟web3 增長和創新的下一階段。

在本期的Around The Block 中,我們將探索不斷增長的web3 開發者堆棧。

Web3 開發人員堆棧

Coinbase:盤點Web3 開發者堆棧,從基礎協議、開發者工具到應用支持層

在Web2 與Web3 中構建

軟件開發是構建計算機程序的過程。給定程序包含三個主要組件:

1. 前端(用戶與之交互的內容)

2. 後端(用戶看不到的地方)

3. 數據庫(存儲關鍵數據的地方)

典型用戶通過移動或桌面瀏覽器進行交互的前端在web2 和web3 中基本相同。像Uniswap 這樣的web3 應用程序看起來與典型的web2 應用程序相似,因為兩個前端大部分都是使用React 創建的——一個流行的web 和移動應用程序開發人員框架。

Coinbase:盤點Web3 開發者堆棧,從基礎協議、開發者工具到應用支持層

這是web2 和web3 不同的地方。使web3 的定義特徵(用戶定義的所有權) 成為可能的後端框架和數據庫類型是新穎的和獨特的。

web2 應用程序在很大程度上依賴於中心化數據庫,而web3 應用程序則建立在去中心化數據庫(區塊鏈)之上。這需要全新的後端和錢包等新的原語。

由於數十年的累積開發,幫助創建、部署和維護web2 應用程序的工具對開發人員非常友好。開箱即用的解決方案、成熟的基礎設施、共享代碼庫和易於使用的框架在很大程度上使web2 中的構建變得輕而易舉。

另一方面,Web3 仍然需要專業知識來與復雜的基礎設施進行交互,並且通常涉及許多冗餘流程,因為堆棧開發程度較低,使得團隊不得不重新發明輪子。也就是說,將幫助下一個100 萬+ web3 開發人員加入的工具正在迅速改進。

讓我們逐層(非詳盡地)看看不斷發展的Web3 開發人員堆棧(* 表示Coinbase Ventures 投資組合公司)。

協議層

Coinbase:盤點Web3 開發者堆棧,從基礎協議、開發者工具到應用支持層

web3開發者必須做出的第一個決定是基於哪個區塊鏈協議。基於比特幣的構建與基於以太坊的構建完全不同,基於Solana與基於以太坊不同。

對於速度更快、成本更低的應用程序,開發人員可能希望基於Optimism*、Arbitrum*等第二層協議。對於需要將價值從一條鏈轉移到另一條鏈的應用程序而言,開發人員將希望利用Hop*或Synapse* 等跨鏈橋。

一旦做出了這些決定,開發人員就可以開始整合構建模塊,使用戶應用程序成為可能。

基礎設施原語

Coinbase:盤點Web3 開發者堆棧,從基礎協議、開發者工具到應用支持層

開發人員需要弄清楚的下一件事是他們的應用程序最終將如何與底層區塊鏈交互。這就是基礎設施原語發揮作用的地方。

節點基礎設施—— 節點是應用程序與區塊鏈“發生”交互的地方。一旦用戶與應用程序交互,它們是讀取區塊鏈狀態並向其寫入更新的計算機。 Coinbase Cloud、Infura* 和Alchemy*等節點基礎設施提供商讓開發人員可以輕鬆設置、管理或訪問區塊鏈節點,從而為開發人員節省大量時間和資源。

錢包和密鑰管理—— 區塊鏈錢包,如Coinbase Wallet,允許用戶管理在web3 應用程序中執行交易所需的私鑰。 Web3Auth* 或Pine Street Labs*等錢包和密鑰管理提供商使開發人員能夠在區塊鏈錢包和麵向用戶的應用程序之間建立安全連接。

身份——像ENS* 這樣的協議在應用程序中充當用戶的身份。 Spruce* 提供框架和工具包,開發人員可以使用這些框架和工具包來驗證用戶憑據以驗證以太坊上的操作。例如,開發人員可以使用Spruce ID 工具包授權用戶使用其ENS 帳戶登錄dApp。此外,像Lit Protocol這樣的公司提供開發者工具,用於授權使用其代幣或NFT 訪問內容、軟件和其他數據。

去中心化計算—— 計算資源提供應用程序執行計算任務所依賴的處理能力。目前,大部分網絡計算由AWS 等中心化提供商提供。去中心化計算是向社區擁有的網絡的轉變,其中計算資源以低成本、無需許可的方式分佈。 Akash Network 和Aleph.im等項目已經出現,提供高性能的點對點計算資源,並針對智能合約和區塊鏈應用程序進行了優化。

去中心化存儲—— 將與給定web3 應用程序相關的每條數據直接存儲在區塊鏈節點上的成本很高。 web3 開發人員無需將數據存儲在中心化數據庫上,而是可以對某些數據使用IPFS、Arweave* 和Ceramic Network*等點對點數據存儲協議。例如,web3 博客網站Mirror 建立在以太坊上,但將實際博客內容存儲在Arweave 上。

預言機—— 對於典型的以太坊應用程序,區塊鏈存儲交易歷史和“狀態”(餘額、智能合約和其他變量)。然而,它不能本地存儲來自外部源的數據並與之交互——即來自其他區塊鏈的交易歷史或“真實世界”數據,如舊金山的天氣。這就是像Chainlink或Flux* 這樣的預言機出現的地方,將區塊鏈連接到鏈上和鏈下數據源。

互操作性——存在許多不同的區塊鏈,但很少有能夠交換價值和利用跨鏈信息的能力。 LayerZero* 和Astar Network*等互操作性協議為開發人員提供SDK 和API,以構建可移植且可以與不同區塊鏈通信的dApp。

開發者工具

Coinbase:盤點Web3 開發者堆棧,從基礎協議、開發者工具到應用支持層

在允許應用程序與區塊鍊網絡交互的基礎設施原語之上,是允許開發人員與上述原語交互的工具。

框架和IDE — 開發人員框架由其他開發人員創建的代碼庫組成,使開發更容易。 Truffle、Moralis*、Tatum 和ThirdWeb*等Web3 框架讓開發人員可以利用現有代碼進行智能合約應用程序,因此他們不必從頭開始構建所有內容。它們還允許開發人員測試和部署應用程序。 Foundry 和HardHat 等集成開發環境(IDE)結合了通用源代碼編輯器,並將自動化和調試工具構建到一個易於訪問的單一界面中。

低代碼/無代碼—— 這些平台使面向用戶的應用程序能夠完全通過拖放界面快速設計/部署。像Settlemint 這樣的公司為開發人員提供了NFT 的智能合約模板,以防止web3 開發人員不得不重新發明輪子。

索引和查詢—— 數據索引器幫助人們定位和訪問底層數據庫中的特定數據。在Web2 中,谷歌搜索是最流行的數據索引服務,它允許用戶以亞秒級的響應時間查詢存儲在在線數據庫中的數據。在Web3 中,去中心化索引服務正在興起,以幫助dApp 開發人員獲取、處理和查詢區塊鏈數據。 Graph Protocol*、Covalent* 和Coherent* 都提供API,用於從去中心化數據存儲提供商和EVM 兼容的區塊鏈中提取和使用數據。

測試、模擬和監控—— 在web3 應用程序發布之前測試和模擬它們是很重要的。像Tenderly* 和Kurtosis * 這樣的公司提供了各種工具來模擬智能合約和交易,以及調試任何問題的工具。 Blocknative* 提供儀表板和工具,用於在交易提交到鏈上之前對其進行監控。

安全和審計—— 鑑於智能合約利用的潛力,這些平台允許開發人員將安全和審計最佳實踐應用到他們的應用程序中。 OpenZeppelin*、Certik* 和Certora* 都為開發人員提供了各種服務、框架和監控工具,以減輕潛在的安全風險和漏洞。

消息傳遞——Web3 應用程序通常涉及向最終用戶發送各種通信。例如,加密錢包可能希望向用戶推送有關交易確認的警報。 XMTP Labs* 和EPNS 等公司正在構建安全的消息傳遞協議和去中心化通信網絡,以推動用戶參與並為Web3 應用程序中的這些通知提供動力。

分析—— 有許多平台和服務可以讓開發人員探索、分析、提取和可視化區塊鏈數據。 Dune*、Nansen* 和Messari* 均提供各種API 和報告功能,以在web3 應用程序中構建數據可視化功能。 Flipside Crypto* 提供SDK(軟件開發工具包)和API,以創建和共享有關各種加密項目的數據見解。

應用支持層

Coinbase:盤點Web3 開發者堆棧,從基礎協議、開發者工具到應用支持層

應用支持層將上述所有層與特定的web3 用途聯繫起來。 NFT、DAO、DeFi 和遊戲都有自己定制的開發者解決方案。

專注於NFT 的工具為創建和管理NFT 資產提供了基礎設施。 DAO 工具為DAO 創建(Syndicate*、Samudai*)、治理(Snapshot*)和資金管理(Utopia Labs*)提供解決方案。專注於DeFi 的工具提供API,讓開發人員可以訪問各種DeFi 原語。專注於遊戲的工具(Venly*、Joyride*、 Horizo​​nBlockchain Games*)為創建虛擬世界和基於區塊鏈的遊戲提供解決方案。

不斷發展的開發堆棧

上面提到的協議、基礎設施和開發人員工具構成了新生的、但不斷發展的web3 開發人員堆棧。 web3 的模塊化和可互操作性意味著堆棧可以以無窮無盡的方式組合以創建新的和有趣的應用程序。

雖然我們強調的框架和層可能保持不變,但我們繼續看到新的開發人員工具原語出現,並預計整個堆棧在未來幾年將發生巨大變化。

Coinbase Ventures 將繼續投資於下一代平台和開發人員工具,最終將數百萬開發人員帶入web3。如果您像我們一樣致力於構建web3 開發堆棧,我們很樂意收到您的來信。