Coinbase:Web3开发者简单指南
致力于使 Web3 开发像 Web2 一样简单的项目和公司指南
尽管比特币和以太坊的兴起,以及DeFi、NFT、GameFi和DAO等新类别的出现,Web3开发者在全球3110万软件开发者中占比不到1%。
那么,为什么今天Web3的开发者这么少呢?首先,Web3开发者可用的工具和基础设施远不如Web2强大。这使得在Web3中开始构建、实验和部署更加困难。为了支持这一不断增长的应急措施,一个充满活力的团队生态系统正在努力简化整个Web3开发者的旅程,这将最终有助于释放Web3增长和创新的下一个阶段。
在本文中,我们将探讨不断增长的Web3开发者堆栈。
Web3开发者堆栈
在Web2与Web3中构建
软件开发是建立计算机程序的过程。一个特定的程序有三个主要组成部分:
前端(用户与之互动的部分)
后端(用户看不到的东西)
数据库(存储关键数据的地方)
一个典型的用户通过移动或桌面浏览器进行交互的前端在Web2和Web3中基本上是相同的。像Uniswap这样的Web3应用程序看起来与典型的Web2应用程序相似,因为这两个前端大多是使用React创建的(这是一个流行的Web和移动应用程序的开发框架)。
Web2和Web3的不同之处就在于其内部。后台框架和数据库类型使Web3的决定性特征(用户定义的所有权)成为可能,是新的和独特的。
Web2应用程序主要依靠中心化数据库,而Web3应用程序则建立在去中心化的数据库(区块链)上。这需要全新的后端和新的基元,如钱包。
由于数十年的累积发展,协助创建、部署和维护Web2应用程序的工具对开发者非常友好。开箱即用的解决方案、成熟的基础设施、共享代码库和易于使用的框架在很大程度上使在Web2中的构建变得轻而易举。
另一方面,Web3仍然需要专门的专业知识来与复杂的基础设施对接,并且由于堆栈的开发程度较低,通常涉及许多冗余的过程,使团队不得不重新发明轮子。也就是说,帮助未来100多万Web3开发者上岗的工具正在迅速改善。
让我们来看看(非详尽的)不断发展的Web3开发者堆栈的每一层(*表示Coinbase Ventures投资的公司)。
协议层
Web3开发者要做的第一个决定是在哪个区块链协议上构建。在比特币上构建与在以太坊上构建完全不同,Solana也与以太坊不同,等等。
对于速度更快、成本更低的应用,开发者可能想建立在第二层协议上——Optimism*、Arbitrum*等。对于需要将价值从一个链移植到另一个链的应用程序,开发人员将希望利用跨链桥,如Hop*或Synapse*。
一旦做出这些决定,开发者就可以开始纳入使用户应用成为可能的构建块。
基础设施基元
开发者需要弄清楚的下一件事是他们的应用程序最终将如何与底层区块链互动。这就是基础设施基元发挥作用的地方。
节点基础设施 - 节点是应用程序与区块链互动的 "发生地"。它们是读取区块链状态的计算机,一旦用户与应用程序互动,就向其写入更新。像Coinbase Cloud、Infura*和Alchemy*这样的节点基础设施供应商让开发者轻松设置、管理或访问区块链节点,为开发者节省大量时间和资源。
钱包和密钥管理 - 区块链钱包,如Coinbase钱包,允许用户管理在Web3应用程序中执行交易所需的私人密钥。钱包和密钥管理供应商,如Web3Auth*或Pine Street Labs*,使开发人员能够在区块链钱包和面向用户的应用程序之间建立安全连接。
身份--像ENS*这样的协议可以作为用户的跨应用身份。Spruce*提供了框架和工具包,开发人员可以用来验证用户凭证,以验证在以太坊上的操作。例如,开发人员可以使用Spruce ID工具包,使用户能够用他们的ENS账户登录dApps。此外,像Lit Protocol这样的公司提供开发者工具,以授予对内容、软件和其他数据的访问,利用他们的代币或NFT。
去中心化的计算 - 计算资源提供处理能力,应用程序依靠它来执行计算任务。目前,网络上的大部分计算是由AWS等中心化供应商提供的。去中心化的计算是向社区拥有的网络的转变,在这种网络中,计算资源以一种无许可的方式以低价分配。像Akash Network和Aleph.im这样的公司已经出现,提供点对点的计算资源,这些资源性能高,并为智能合约和区块链应用程序进行了优化。
去中心化的存储--直接在区块链节点上存储与特定Web3应用相关的每一条数据,成本很高。Web3开发者可以使用IPFS、Arweave*和Ceramic Network*等点对点数据存储协议来存储某些数据,而不是在中心化数据库上存储数据。例如,Web3博客网站Mirror建立在以太坊上,但在Arweave上存储实际的博客内容。
预言机 - 对于一个典型的以太坊应用,区块链存储交易历史和“状态”(余额、智能合约和其他变量)。然而,它不能原生地存储和交互来自外部的数据,即来自其他区块链的交易历史或“真实世界”的数据,如旧金山的天气。这就是Chainlink或Flux*的作用,将区块链连接到链上和链下的数据源。
互操作性--存在许多不同的区块链,但很少有能力进行价值交换和跨链利用信息。像LayerZero*和Astar Network*这样的互操作性协议为开发者提供SDK和APis,以建立可移植的dApps,并能与不同的区块链通信。
开发者工具
在允许应用程序与区块链网络互动的基础设施基元之上,是允许开发人员与上述基元进行更无缝互动的工具。
框架和IDE - 开发者框架由其他开发者创建的代码库组成,使开发更容易。Web3框架,如Truffle、Moralis*、Tatum和ThirdWeb*,让开发者利用现有的代码来开发智能合约应用程序,这样他们就不必从头开始建立一切。它们还可以让开发人员测试和部署应用程序。集成开发环境(IDE),如Foundry和HardHat,将常见的源代码编辑器,以及构建自动化和调试工具结合到一个单一的,易于访问的界面。
低代码/无代码--这些平台使面向用户的应用程序可以完全通过拖放界面快速设计/部署。像Settlemint这样的公司为开发者提供了NFT的智能合约模板,以防止Web3开发者不得不重新发明轮子。
索引与查询--数据索引器帮助人们定位和访问底层数据库中的特定数据。在Web2中,谷歌搜索是最流行的数据索引服务,允许用户以亚秒级的响应时间查询存储在在线数据库中的数据。在Web3中,去中心化的索引服务正在出现,以帮助dApp开发者获取、处理和查询区块链数据。Graph Protocol*、Covalent*和Coherent*都提供了API,用于从去中心化的数据存储供应商和EVM兼容的区块链中提取和利用数据。
测试、模拟和监控—在Web3应用程序发布到市场之前,对其进行测试和模拟是很重要的。像Tenderly*和Kurtosis*这样的公司提供了各种工具来模拟智能合约和交易在上线后的表现,以及调试任何问题的工具。Blocknative*提供仪表盘和工具,用于在交易提交到链上之前对其进行监控。
安全和审计--鉴于智能合约有可能被利用,这些平台让开发者将安全和审计的最佳实践应用于他们的应用程序。OpenZeppelin*、Certik*和Certora*都为开发者提供各种服务、框架和监控工具,以减轻潜在的安全风险和漏洞。
信息传递 - Web3应用程序通常涉及向最终用户发送各种通信。例如,一个加密货币钱包可能希望向用户推送有关交易确认的提醒。像XMTP实验室*和EPNS这样的公司正在建立安全的信息传递协议和去中心化的通信网络,以推动用户参与,并在Web3应用程序中支持这些通知。
分析 - 有大量的平台和服务让开发者探索、分析、提取和可视化区块链数据。Dune*、Nansen*和Messari*各自提供各种API和报告功能,以在Web3应用程序中建立数据可视化功能。Flipside Crypto*提供SDK(软件开发工具包)和API,以创建和分享各种加密货币项目的数据洞察力。
应用支持层
应用支持层将上述所有层与特定的 Web3 用途联系起来。NFT、DAO、DeFi 和游戏都有自己定制的开发者解决方案。
注重NFT的工具为创建和管理NFT资产提供基础设施。DAO工具为DAO的创建(Syndicate*,Samudai*),治理(Snapshot*)和财政管理(Utopia Labs*)提供解决方案。注重DeFi的工具提供API,让开发者访问各种DeFi基元。注重游戏的工具(Venly*,Joyride*,Horizon Blockchain Games*)为创建虚拟世界和基于区块链的游戏提供解决方案。
不断发展的开发栈
上面提到的协议、基础设施和开发者工具构成了新生的、但不断发展的Web3开发者堆栈。Web3的模块化和互操作性意味着该堆栈可以以无尽的方式组合,以创建新的和有趣的应用程序。
虽然我们强调的框架和层可能会保持不变,但我们继续看到新的开发者工具基元的出现,并预计整个堆栈在未来几年内会有巨大的发展。
Coinbase Ventures将继续投资于下一代平台和开发者工具,这将最终使数以百万计的开发者进入Web3。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场