Web3 堆棧:開發人員參考
已發表: 2022-04-11您想參與構建 Web3 項目嗎? 本參考資料將概述最流行的層和開發環境。
眾所周知,現在圍繞這個主題(Web3)有很多討論。 許多人離開了他們在 FAANG 和知名初創公司的工作,開始在 Web3 元宇宙中尋求新的開始。
而且,假設你也有類似的癢感——你從哪裡開始? 本文完全獻給那些希望直接進入 Web3 開發的人。 我們的重點將放在各種類別上,每個類別都包含有價值的資源,可以幫助您開始旅程。
為了使該參考資料易於訪問,我將資源分成單獨的部分。
這些部分是:
- 層。 開發中使用的最流行的區塊鏈。
- 開發環境。 幫助您部署到這些層的工具。
- 身份。 如何圍繞錢包身份構建並使用加密登錄。
- 貯存。 使用 P2P 技術創建永久數據存儲。
- API。 直接訪問主要網絡以提取信息。
- 前端。 流行的前端框架。
堆棧是一個術語,用於定義用於實現特定目標的特定技術組合。 無論是全棧開發,還是本例中的 Web3 堆棧。 值得注意的是,構建 Web3 應用程序和產品所涉及的技術相當“不穩定”。
從某種意義上說,隨著越來越多的人習慣於在區塊鏈上構建軟件,很多事情都在發生變化。 因此,我們提供此參考的目標是提及已在實際項目中使用的資源。
如果這一切聽起來不錯,我們就可以開始了。
圖層
任何 Web3 項目的基礎都始於層。 您的應用程序或產品將在其上運行的特定區塊鍊網絡。
#1。 以太坊

以太坊因其原生的智能合約主張而廣受歡迎。
從那時起,開發人員將其作為構建下一代 Web3 應用程序的首選區塊鏈層。 它也是許多 NFT 項目的首選層,所以如果你想開發與 NFT 相關的應用程序,以太坊可以提供很多開箱即用的功能。
#2。 多邊形

Polygon 層是以太坊側鏈,提供更複雜的安全實踐,同時保持較低的交易( gas )費用。 對於交易數量極高但交易價格低廉的項目來說,這是一個受歡迎的選擇。
由於 Polygon 是側鏈,因此也常被稱為 Layer 2 區塊鏈。 然而,Polygon 的快速發展使其成為 NFT 應用以及 dApp 和支付系統的熱門選擇。
其他值得注意的 Web3 層:
- 索拉納。 為大規模構建 DeFi 應用程序而構建的區塊鏈。
- NEAR 協議。 擁有大量開發人員資源的智能合約區塊鏈。
- 波爾卡圓點。 用於構建治理項目的跨區塊鏈協議。
- 特所思。 一個專注於能源的平台,用於構建去中心化的創意平台。
- 幻想。 用於構建 dApp 的開源智能合約平台。
開發環境
開發環境可以讓您跳過整個“從頭開始”部分。 這些暫時主要是基於以太坊的。
#1。 安全帽

Hardhat 是以太坊開發者的開發環境。 它的工作原理是幫助開發人員自動化構建和組合分散式應用程序以及智能合約的過程。 它的流行源於內置的安全帽網絡,這是以太坊網絡的一對一副本,您可以使用它在本地測試您的應用程序。
#2。 松露

Truffle 是一個基於 JavaScript 的框架,用於構建智能合約。 它假設您使用 EVM(以太坊虛擬機),為您提供加速開發過程的工具。 其中一些工具包括自動化測試、合同編譯器和直接從控制台訪問您的聯繫人的單獨工具。
其他值得注意的 Web3 開發環境:
- 鑄造廠。 基於 Rust 的工具包,用於在以太坊上構建應用程序。
- 布朗尼。 用於構建和測試智能合約的基於 Python 的框架。
- 錨。 一個與 Solana 一起工作的框架,用 Rust 編寫。
- 上船。 建立在以太坊之上的多合一框架。
- 胡扯。 用於測試智能合約的定制框架。
身份
與傳統的用戶名和密碼認證不同,在 Web3 中,開發人員既可以使用錢包,也可以使用公鑰。
#1。 錢包連接

WalletConnect 是一種開源協議,用於通過移動錢包連接到 dApp。 使用 WalletConnect 的主要概念是掃描二維碼,然後用戶可以使用它來驗證他們的身份並批准與 Web3 應用程序的新連接。
如果你知道像 Pillar 或 MetaMask 這樣的錢包——它們都直接與 WalletConnect 集成。 這也意味著您可以訪問大量的開發人員資源。 最後但並非最不重要的一點是,該協議適用於所有主要區塊鏈,並且經常添加更多鏈。
#2。 雲杉

Spruce 是一家由 Y Combinator 支持的初創公司,旨在將去中心化身份的概念帶到區塊鏈之外的領域。 該工具包旨在幫助用戶通過各種媒體驗證他們的數字身份:社交媒體、個人網站和區塊鍊網絡。
貯存
您如何在 Web3 上存儲媒體(視頻、照片等)? 這主要是使用 P2P 文件存儲協議完成的。
#1。 IPFS

IPFS 是世界領先的 P2P(點對點)存儲協議。 將文件上傳到 IPFS 後,該文件會被調整大小,通過自定義哈希進行保護,並分配一個指紋作為其唯一標識符。

之後,屬於該網絡的其他節點(系統或人員)可以訪問該文件,對其進行驗證,並將其存儲在其緩存中。 緩存後,任何具有正確訪問方法的人都可以訪問該文件。
最終,IPFS 的目標不僅僅是提供去中心化的存儲系統。 但也要確保內容的跨度是幾十年而不是幾年。 例如,一個網站在一段時間後消失了,它的所有內容,包括媒體,都丟失了。 IPFS 提供了一個真正的解決方案。
#2。 天網

Skynet 使用 Sia(分散式)云網絡提供可訪問的文件共享。 您實際上可以直接從主頁使用它。 只需上傳一個文件,您就會得到一個鏈接。 除非您註冊 API 密鑰,否則它會持續 90 天。 不過,在開發環境中,天網使您可以輕鬆地在您自己的去中心化應用程序中復制相同的用例。
#2。 文件庫

Filebase 是一家 SaaS 初創公司,提供與 Amazon S3 API 的直接鏈接。 您可以使用此 API 從您的 S3 存儲桶中獲取數據,然後將它們重新分配到各種去中心化存儲選項中。
目前,Filebase 支持基於 Web3 的存儲選項,如 Skynet、IPFS、Sia 和 Storj 等。 作為開發人員,這意味著您可以簡化為客戶提供去中心化文件存儲服務的過程。
作為新用戶,您還可以免費獲得 5GB 的存儲空間,儘管即使是付費計劃的定價也是合理的。
其他值得注意的 Web3 存儲解決方案:
- 編織。 Arweave 是一種協議,可讓您通過單一的預付費用永久且可持續地存儲數據。
- 文件幣。 將任何類型的媒體存儲在分散的雲環境中。
- 一群。 一個由以太坊智能合約激勵的自我維持的 P2P 存儲節點。
- 阿萊夫。 構建 dApp 並讓 Aleph 為您管理基於雲的存儲。
API
與傳統的基於數據庫的堆棧不同,開發人員使用 API 與區塊鏈交互並在其上請求或存儲數據。 API 有時也稱為Clients 。
#1。 圖表

The Graph 是一個用於連接各種區塊鏈的一體化 API 解決方案。 此 API 的目標是幫助開發人員訪問原本需要構建單獨算法的數據。 例如,區塊鏈中的數據點源於簡單的地址,以基於智能合約的複雜交易。
這方面的一個例子是跟踪 NFT 的歷史。
雖然個人購買歷史可能很容易追踪,但當您嘗試了解與不同購買的關係時,它會變得越來越困難。 在這種情況下,Graph API 提供了預製調用和索引目錄,以幫助您快速可視化特定用例。
#2。 Web3.js

Web3.js 是最流行的與以太坊直接交互的 JavaScript API。 它主要用於開發與以太坊鏈交互的客戶端應用程序。 Web3.js 中包含的子庫集合提供了轉賬、智能合約管理等功能。
#3。 煉金術

Alchemy 迅速崛起,成為最受尊敬的 Web3 平台之一。 他們的方法是教育開發人員如何快速構建和擴展 Web3 應用程序。 他們能夠通過提供複雜的區塊鏈 API 和一組開發工具來做到這一點。
#4。 使用DApp

useDApp 是一個基於 React 的框架,用於與以太坊區塊鏈進行交互。 它由 React.js、Ethers.js 庫、Waffle 和 Web-3 React 組件組成。 它通常用於構建易於訪問的網站前端,可以根據您的項目需求顯示各種數據查詢。
前端
開發人員使用什麼樣的框架來構建 Web3 項目的前端界面?
#1。 反應

React 的受歡迎程度是無與倫比的。 得知它也是最流行的 Web3 站點前端庫也就不足為奇了。 組件驅動的架構意味著開發人員可以在前端的多個部分上工作,而不會干擾核心設計。
您可以查看 GitHub 上的 Web3-React 庫以獲得可靠的起點。
#2。 下一個

Next.js 是 React 的繼承者,儘管兩者都沒有直接關聯。 大型 Web3 項目需要大量資源管理,Next.js 捆綁了用於靜態和動態項目的本地工具,並被 Binance、Bitscreener、Hashnode 等公司使用。
如需快速入門,請查看 Next Web3 Boilerplate。
Web3 開發入門
有很多東西需要吸收,特別是如果你現在才開始。 事實上,這個領域的變化非常快。 儘管最初的項目都與 NFT 相關,但如今,人們更加重視去中心化網絡和單個區塊鏈平台。
就 Web3 項目的入門而言,這個參考應該足夠了。 我還建議在 Twitter 和 Discord 上保持循環,因為它們是跟上最新 Web3 趨勢的兩個最活躍的社區。