Solana 开发者生态系统继续增长。在 2023 年,开发者生态系统在工具、开发者体验、内容质量和可用编程语言的多样性方面取得了重大进展。如今,Solana 开发者生态系统拥有超过 2500 名每月活跃的开源库开发者,专业开发者源源不断的加入生态系统,开发者环境日趋成熟。
开发者生态系统
任何区块链的开发者生态系统的健康对于维持网络至关重要。虽然衡量一个生态系统的健康程度十分困难,也没有任何单一因素能够讲清整个故事,但以下指标对于评估至关重要:
- 每月活跃的开源开发者总数:在生态系统内建设的每月活跃的开源开发者。
- 开发者留存率:生态系统培育持续开发的「粘性」。
- 开发者经验水平:开发者的专业经验。
- 开发者增长:在任何特定时间进入生态系统的开发者数量。
每月活跃开发者总数
衡量一个网络如何增长的最简单的方式之一是区块链上活跃开发者的数量。在 Solana 基金会,我们使用一个开源服务来收集开发者数据,并已公开记录我们如何收集这些数据。在过去的一年中,我们在 Solana 上有大约 2500 - 3000 名开发者在 2023 年全年持续活跃。
维持一定数量的开发者是健康生态系统的一个重要指标,因为它展示了生态系统吸引和留住新人才的能力。 需要注意的是,此数据仅对公共存储库做出贡献的开发人员进行统计,不考虑发生在个人存储库中的开发人员活动。这可能导致某些特定时间点活跃开发者数量的低估。Solana 基金会致力于支持 Solana 区块链上的开源社区增长,基金会对公共开发的续期支持将有助于推动 Solana 应用程序的未来创新。
开发者留存率
衡量每月活跃开发者只是故事的一部分。大量实验区块链的开发者如果留存率低,可能不会转化为可持续发展的开发者社区。低留存率构成风险,可能导致开发者在对网络做出有意义贡献之前离开。为了进一步评估开发者社区的健康状况,关键是要结合每月活跃开发者一起衡量留存率。 就本报告而言,如果开发者在开始后的连续三个月中至少进行一次代码提交,则将其定义为已留存的开发者。
在 2023 年,Solana 生态系统中的 3 个月开发者留存率从 31% 提高到 50% 以上,使更多加入的开发者留在生态系统中。留存率的提升可能由几个原因造成:
- 开发者引入正在改善。
- Solana 区块链已经成为开发者的更明确选择。
- 生态系统中的机会增加了。
在过去一年中,随着 Solana 基金会发布了多份关于如何入门的新指南,Solana 开发者入门流程一直在稳步改进。通过侧重点和难度各异的多个开发者训练营,每 6 个月有 400-500 名高级开发者毕业,意图在 Solana 上建设。来自最新Solana Hyperdrive 黑客松的数据显示,前 150 名提交者中约 50% 和获胜者中约 50% 完成了这些训练营中的其中一个。 生态系统中的团队也大力支持在 Solana 上构建。例如,Helius 团队发布了博文,解释开发者为什么应该选择在 Solana 上构建。 虽然生态系统内提供给开发者的机会难以衡量,但发布到 jobs.solana.com 的工作数量在稳步增加,该网站汇总了 Solana 生态系统中的岗位。从 2023 年 1 月的 15 个到发布时的 95 个岗位。仅 2023 年 12 月就添加了 41 个岗位。虽然这是一个不完美的指标,但工作机会对于保持新人才对网络的贡献和建设非常重要。
开发者经验水平
在链上构建应用程序的开发者的技能水平直接影响网络的整体成功。如果一个网络主要由更有经验的开发者来构建应用程序,该网络的应用程序获得新用户的可能性就更高。在 Solana,进入生态系统的开发者中,超过一半都至少有 3 年的经验,这导致他们对构建在该网络上的应用程序做出了更高级别的贡献。 衡量这一点的方法之一是衡量参加 Solana 全球各地举办的 Hacker House(为期一周的活动)的与会者的经验水平。这些活动充当学习和联络的空间,其中讲座和办公时间特别针对开发者和创始人。 在 2023 年参加 Solana Hacker House 的 1059 名开发者中,52.5% 表示他们拥有 3 年以上的开发者经验,比我们活动中的任何其他组都多。
开发者增长
虽然 Solana 生态系统相对较新(Solana 主网测试版于 2020 年 3 月上线),但它的开发者生态系统已经成长为按每月活跃开发者总数计算的第二大生态系统。这种增长是由许多不同的因素导致的,很难指出是什么导致了大多数开发者的加入。自主网测试版启动以来,Solana 基金会启动或资助了各种举措,其核心目标是发展开发者生态系统。一些关键举措包括 Solana 黑客松、Solana Hacker House、Breakpoint、教育训练营和赞助的大学活动。生态系统领导的团队如 SuperteamDAO、mtnDao、Metcamp 和 Gen3 也对这种增长做出了贡献。 我们预计 Solana 黑客松将成为开发者生态系统健康状况的一个重要指标。自 2020 年以来,Solana 基金会已赞助了 8 次黑客松。在过去三年中,超过 3000 个项目已经启动,为黑客松提交的项目筹集了超过 6 亿美元的资金。随着每个黑客松的进行,项目提交的数量都在增加。最近的一次黑客松「Solana Hyperdrive」收到了超过 900 份提交。
全球增长
需要注意的是,虽然整个生态系统都在增长,但大量增长来自于新加入的全球地区。全球开发者生态系统的努力来自于自下而上的社区理念,这些社区向外增长。一个例子是 SuperteamDao,一个专注于印度的构建者社区。SuperteamDao 在 2023 年初开始扩展到其他国家/地区,现在在 8 个国家/地区都有分支。采用类似理念的其他团体包括中国台湾地区的 Gen3、新加坡的 MetacampDao 和美国的 mtnDao。 虽然 Solana 基金会目前不会每天跟踪细致的区域增长,但每六个月举行一次的 Solana 黑客松可以从区域层面看到增长率。 Solana 基金会最近一次黑客松「Solana Hyperdrive」中,参与者来自 151 个国家。其中 65 个国家提交了最终作品。
从历史上看,美国一直是 Solana 黑客松中代表最多的国家,印度紧随其后。近年来,黑客松提交中美国以外的份额大幅增加,在 Hyperdrive 中从 2021 年的 76% 增加到 91%。开发者社区一直是工程人才深厚的国家的优先关注重点,如印度、德国、中国、英国、土耳其和越南。值得关注的国家包括巴西和整个拉丁美洲、日本、法国、尼日利亚和以色列。
作为 Solana 生态系统中最成熟的地区,美国在黑客松获胜者中仍占主导地位,但这些数字继续发生变化。最终,任何开发者生态系统的目标都应该是在全球范围内均匀分布的高质量项目。
如今在 Solana 上构建
广泛的区块链采用取决于健全的基础设施和开发者工具的可用性,以实现无缝的新手入门和持续开发。在选择一个生态系统进行构建时,开发者会参考几个关键因素:
- 开发者体验:学习和构建应用程序有多容易?
- 维护:维护和监控在构建中的应用程序需要多少工作量? 随着 Solana 生态系统的不断发展,预计每个领域也将成熟并对开发者更加可访问。
开发者体验
开发者体验是任何生态系统的一个关键部分——可用的资源和工具的成熟程度会对开发者的构建过程产生决定性影响。如今,Solana 区块链拥有日益成熟的工具生态系统和大量的开发者入门学习资源。展望未来,发布更多关于从头到尾构建项目的资源可以帮助加速新开发者,以及帮助调试和了解计算资源使用的工具。 Solana 协议以其并行处理能力而闻名,这只能通过要求开发人员提前声明他们正在使用的状态部分来实现。因此,开发人员需要适当的框架和工具来更轻松地管理所有状态。决定是否要在 Solana 上构建的开发者会问以下问题:
- 文档和示例:参考可用文档和资源时有多容易?
- 教育计划和课程:有哪些教育对开发者开放?
- SDK 和框架:是否存在常用的 SDK 和框架来加速我的开发?
- 本地开发工具:本地工具有多可塑,以便我可以快速对一个新的应用程序进行原型设计?
- 工具齐全:Solana 与其他生态系统相比如何?
文档和示例
目前在 Solana 区块链上的文档在很大程度上是概念性的,并包括帮助开发人员在 Solana入门构建的指南。在过去的一年中,创建了大量的程序示例来帮助任何人在 Solana 上构建链上应用程序,这有助于启动链上开发者生态系统。Solana Cookbook 拥有选择全面的客户端代码示例,包括每个至少有三种不同编程语言的数百个代码片段。 对于希望了解更多 Solana 协议最新内部知识的开发者来说,目前缺乏最新信息。这在一定程度上是由于 Solana 协议更新的快速步伐。Solana 改进文档和协议规范将会逐步完善,通过在实施之前放置到文档内来填补缺失的空白。随着 Solana 继续成熟,更多像 Umbra Research 这样的研究组织开始撰写内部知识,最新信息应该会更加普遍出现在文档中。
教育计划和课程
在撰写本文时,有多种完整的教育计划和课程可以帮助开发者进入 Solana 生态系统。这包括自主学习课程和导师指导的、以集体为基础的计划。教育开发计划的不同结构帮助开发者以他们首选的方式学习,保持高水平的责任感并提高参与者的成功机会。 过去 12 个月的自学教育计划和课程包括:
- 解包 Solana 课程
- Freecodecamp
- EasyA - IdeaSoft
此外,一些导师指导的计划是:
- Web3BuildersAllianace
- Encode Club
- Ackee Blockchain
- Narr8ative
- Calyptus
- DevsNest
- RiseIn
- Nas Academy
SDK 和框架
Solana 开发者生态系统有一个坚实的 SDK 基础,影响大多数开发者。在 UI 框架方面,Solana 区块链上 React 和 Next.js 工具的集中度很高。对于每种语言,我们可以用以下方式评估可用的工具:
- Solana SDK:与 RPC 交互并创建交易的 SDK 以与区块链互动。
- 程序框架:使用特定编程语言创建 Solana 程序的功能。
- 开发者影响:通过使用编程语言或 UI 框架的开发者占比来衡量。
新的开发者进入生态系统现在可以通过只写 Typescript(从不学习 Rust 或编写 Solana 智能合约)完全加入 Solana 的构建。不仅如此,不同技术领域的开发者也有了新的工具可用。游戏开发者拥有功能完善的 Unity SDK、Godot SDK 和 Unreal Engine SDK。金融科技开发者可以通过 SolanaPay 快速采用 Solana 的速度。在 Solana 构建比以往任何时候都更容易。
UI 框架
Scaffold和钱包适配器为每个 UI 框架的开发者体验提供了便利。目前得到支持最多的框架是 React 和 Next.js,覆盖了大量开发者。
- Scaffold:一个允许开发者快速使用样板网站设置的工具。
- 钱包适配器:支持与 Solana 钱包轻松集成的工具。
本地开发环境
本地开发环境是一系列工具的集合,使开发者能够在本地机器上构建,以加速开发和降低构建开销。要构建一个新应用程序,开发者需要先在本地计算机上开始构建。高效的本地开发环境可以显著减少开发者在新框架上构建时遇到的阻力。 目前人们使用的主要本地环境工具是Solana 工具套件。Solana 工具套件使开发者能够在本地机器上运行测试验证器,发送交易,空投,部署智能合约,并针对环境运行测试。此工具允许开发者从头到尾在生产环境中运行应用程序。 与 EVM 成熟的Foundry工具链相比,Solana 工具套件具有通过 CLI 发送交易和轻松复制主网账户的功能,尽管体验不是那么简单。拉取账户比 Foundry 更加手动,因为 Solana 的智能合约是无状态的,这意味着用户必须在许多不同的位置收集或创建状态才能在本地运行测试。发送交易是可能的,但不能像扩展到任何智能合约那样简单。这是因为 Solana 协议赋予用户与智能合约交互时选择序列化的选择权,导致了许多不同的交互方式,没有直接的标准。这两者从长远来看都是可以解决的。
与其他生态系统工具链的均衡
衡量 Solana 生态系统工具链可用性的一种方法是将其与 EVM 之外的流行工具进行比较。大多数情况下,第一次接触 web3 和智能合约的开发者会将 Solidity 作为第一门语言学习,以及 EVM 编程范式。这第一次接触 EVM 使得以后转向 Solana 生态系统的开发者复杂化,因为它通常需要开发者忘记关于 EVM 的所知,以便使用 Solana 协议的帐户模型进行适当开发。在5800 名 Solidity 每月活跃开发者中,只有 7% 尝试过 Solana 开发。 一些工具已经存在,可帮助加速采用 Solana 区块链和开发者从 EVM 转型的迭代速度。通过以下项目启用了 Solidity 开发:
- Neon:兼容 EVM 的开发环境
- Hyperledger Solang:Solana 上的 Solidity 编译器
除了兼容 EVM 的环境之外,许多开发者可能会使用本机的 Solana 开发实践。对于 EVM 生态系统中可用的大多数主要工具,都有一个 Solana 等效物:
鉴于 Solana 区块链相对于 EVM 的新生,这证明了开发者生态系统正在构建所有必要的工具,以使 Solana 开发者体验更好。虽然尚未达到 Foundry 的所有标准,但 Solana 生态系统处于进一步改进和成熟其工具链的有利位置。
维护
任何将应用程序部署到生产环境的开发者都知道,能够轻松维护应用程序将避免很多麻烦。Solana 协议在维护应用程序方面表现如何? 理解应用程序的维护难易程度取决于一些因素:
- 测试和调试:编写测试以维持功能和调试潜在问题有多简单?
- 安全性:如何保持应用程序安全?
- 分析:如何正确监控生产环境中的应用程序运行?
测试和调试
测试和调试在开发生命周期中很重要。与测试和调试相关的工具可以节省数小时的软件开发时间,帮助公司更快地找到问题,减少搭建中的风险。在 2023 年,开发者生态系统构建了工具,使测试和调试成为一个更简单的过程。
- 调试器:在过去一年中,创建了两种使用步进调试器的方法,Bokken和 ledger-tool 调试器。使用这些工具,您可以在 Solana 基本智能合约的每个代码行设置断点,了解每个代码行处的帐户状态。
- 测试:Anchor 框架的 mocha 测试是目前 Solana 智能合约中最常用的测试框架。在过去六个月中,创建了Solana Bankrun,使测试速度大大加快,测试功能更强大。Solana-program-test也存在,具有类似的功能和速度。
- 代码覆盖率:针对 Solana 上的智能合约的代码覆盖率工具仍不完善。开发者可以使用一般的 Rust 代码覆盖率工具,但大多数不能准确测量覆盖率。
- 日志记录:大多数情况下,solana-program 中使用的基本 Solana 记录器。此记录器可以通过智能合约日志获取,并通过Geyser或sologger传输以帮助分析。像Ironforge这样的 SaaS 工具也可以帮助监视生产中的应用程序日志。在过去一年中,通过Anchor 框架改进了基本记录器,避免了许多早期的限制。
- 事件:Anchor 框架目前为 Solana 链上应用程序提供了一种非常基本的事件处理方式。然而,如果不涉及一些基础设施,该框架不会为您提供一个即时的事件队列,不能在无需额外基础设施的情况下追赶链的最新状态。围绕在 Solana 上改进事件,有一些未来的提案。
安全性
对任何想要安全运营的公司来说,在生产中拥有一个安全的应用程序至关重要。在去中心化应用程序中的安全性甚至更加关键。智能合约中的任何漏洞,如果您不小心的话,都可能导致大量资金损失。那么今天的开发者如何保持他们的智能合约安全呢?
- CI 扫描:开发者可以使用基本的Github 操作扫描来扫描智能合约中的小漏洞。这种扫描可以帮助他们在任何部署之前快速发现漏洞。
- 审计:任何认真的智能合约开发者都会由生态系统内的第三方公司进行审计。在 Solana 开发存在的短短几年中,已经出现了专注于审计的多家公司。
- 模糊测试:对常见已知漏洞进行适当的模糊测试是保持智能合约安全的好方法。像trdelnik这样的模糊测试框架提供了一种快速了解智能合约是否容易受到简单威胁的方法。
- 实时扫描:在生产中运行时,通过实时扫描交易的异常情况来积极防范任何潜在威胁是最好的。Riverguard 在主网上提供高级别的扫描,通过一系列交易模式以了解链上应用程序是否容易受到攻击。
Solana 开发者生态系统拥有相当数量的工具来保持链上应用程序在生产中安全运行。但随着开发者技能水平的提高,更复杂的攻击也在增加 - 我们要继续改进应用程序,进一步推进安全教育和工具对成功至关重要。
分析
开发者寻求有关其应用程序性能以及竞争对手应用程序性能的分析。目前,分析平台通过原始和解析交易支持 Solana。由于 IDL 中数据的可用性和深度不足,分析平台速度放慢,无法提供丰富的帐户分析。一旦 Anchor 提供的 IDL 框架得到改进并更广泛可用,智能合约的分析也将得到改善。
未来的机遇
目前 Solana 开发者生态系统仅有四年历史。在这段时间里,丰富的内容和帮助开发者构建的工具培育了今天日渐成熟的生态系统。 生态系统中仍有许多机会。未来,开发者生态系统必须进一步完善本地开发环境,以匹配 Foundry 提供的一流工具;添加更强大的事件系统;并提供更多端到端的产品示例,以加速新应用程序的开发。 Solana 基金会一直在努力帮助 Solana 开发者生态系统的增长,鼓励新开发者为开发者体验做出贡献,并支持工具的成熟。 如果您有改进 Solana 开发者生态系统的想法,需要经济支持,请随时申请资助。我们欢迎任何关于开发者生态系统的反馈以及如何改善体验。