2025-01-21
Solana 基金会报告:2023 生态概况与开发工具最新进展
在 2023 年,Solana 生态系于开发工具、开发者体验以及和程式语言多样性等方面皆取得了重大进展。截至目前为止,每个月仍有超过 2,500 名活跃开发者在持续为 Solana 的开源程式码做出贡献,使 Solana 的开发环境更趋成熟。
以下就让我们来回顾 2023 年的各项关键指标以及开发工具的最新进展:
第一部分: 了解 Solana 开发者生态
开发者生态系的稳健,可以作为衡量各个公链健全状况的判断标准。Solana 将以下四个关键指标作为参考:
- 每月活跃开发者数量
- 开发者留存率
- 开发者经验分布
- 开发者数量增长与全球骇客松队伍数量增长
每月活跃开发者数量
除了观察每月活跃开发者数量,开发者的留存率也同样扮演著重要的角色,因为留存率低的开发者社群将难以实现可持续的成长。本报告留存率的定义为:只要开发者在加入后的三个月内「至少有一次投入开发的纪录」,即被视为成功留存。
在 2023 年,Solana 生态系中的开发者留存率从 31% 成长到 50% 以上,数据说明现今比以往留住了更多新加入生态系的开发者。
留存率的提高可能有以下几个原因:
- 开发者入门的流程不断进行优化
- Solana 已成为开发者们心目中更佳的选项
- 生态系中的机会增加
在过去一年中,Solana 基金会发表了多个新的指南,指导开发者如何入门。同时,透过举办多个不同主题与程度的开发者培训营,每六个月平均能产出 400 – 500 名有意愿继续在 Solana 上进行开发的进阶开发者。根据最近的 Solana Hyperdrive Hackathon 数据显示,前 150 名提交作品中约有 50% 是出自这些学员,并且约有 50% 的最终获胜者也都是来自这些培训营。
此外,Solana 生态中的团队也提供了很大的协助,其中的焦点是 Helius 发表了有关为何开发者应该选择在Solana上开发的介绍文章。
我们也可以从在 Jobs Solana 上刊登职位数量的成长来观察出新机会的增加。从 2023 年 1 月的 15 个职位,到截稿当下已达到 95 个职位刊登,并且仅仅在 12 月份就新增了 41 个职位。职缺的增加虽与留存率并不直接相关,但提供工作机会留住人才也可被视为是重要现象之一。
开发者经验分布
2020 年 3 月上线的 Solana 已然成为全球月活跃开发者第二多的公链生态系,仅管相对其他公链来说相当年轻,其仍透过妥善的资源分配达到快速扩张。自主网测试版推出以来,Solana 基金会一直在运营和资助各类型的生态发展计划,主要包括:Solana Hackathon、Solana Hacker House、Breakpoint、教育性的培训营和学生活动。除了官方以外,许多区域性的社群都为生态系贡献良多,如 SuperteamDAO、mtnDAO、Metacamp 和来自台湾的 Gen3。
自创立以来,Solana 基金会便将 Solana Hackathon 作为评估开发者生态系健全程度的重要指标。为了提供开发者们实质的帮助,自 2020 年以来 Solana 基金会已募集了超过 60 亿美元的资金,赞助了八场 Hackathon,并成功启动了超过 3,000 个专案。值得注意的是,专案提交总数随著每次 Hackathon 的举办都在不断增加,而最近的 Solana Hyperdrive 甚至有超过 900 个专案提交,打破过往的纪录。
Solana 生态系的增长有很大一部分是来自新加入的地区。全球开发者生态系的是由一种由下而上、由内向外的方式发展,并非完全是由官方推动。其中的经典案例是一个以印度为中心的开发者社群 SuperteamDAO,其在 2023 年初开始扩展到其他国家,目前已在八个国家设有分部。其他拥有相似理念的团体还包括台湾的 Gen3、新加坡的 MetacampDAO 以及美国的 mtnDAO。
在过去,美国一直是 Solana Hackathon 中数量最多的国家,印度则紧跟在后。近年来,美国之外的团队提交项目的比例大幅增加,从 2021 年的 76% 增长到 Hyperdrive 的 91%。在具有丰富软体工程师资源的国家,如印度、德国、中国、英国、土耳其和越南,这些国家的开发者社群一直是优先关注的焦点。在未来一年中,同样值得关注的国家包括巴西和拉丁美洲、日本、法国、尼日利亚和以色列(当然,也包括台湾)。
Solana 拥有一套强大的 SDK,而在 UI 框架方面,Solana 则集中使用 React 和 Next.js 工具。针对各种程式语言,我们可以用下列三个指标来评估:
- Solana SDK:是否存在该语言的 SDK?
- 开发框架(Program Framework):是否有对应的开发框架?
- 开发者冲击(Developer Impact): 有多少比例的开发者使用过这个语言?
刚加入 Solana 生态系的开发者现在可以完全只用 TypeScript 进行 Solana 开发,无需学习 Rust 或开发 Solana 智能合约。除此之外,不同技术领域的开发者也有新的工具可供使用:游戏开发者可以使用完整功能的 Unity SDK、Godot SDK 和 Unreal Engine SDK;金融科技开发者也可以迅速上手并使用 SolanaPay。
几乎每个首次接触 Web3 的开发者都会选择 Solidity 作为第一个区块链程式语言。这种对 EVM 的初次接触,使得后来转向 Solana 生态系会变得更加困难。因为改用 Solana 协议的帐户模型进行开发,意味著开发者需要放弃他们对 EVM 的认知。在 5800 名每月活跃的 Solidity 开发者中,只有 7% 曾尝试过在 Solana 开发。
目前已经有一些工具来加速 Solana 的采用和习惯 EVM 的开发者的迭代速度。以下是一些支援 Solidity 开发的项目:
- Neon:与 EVM 兼容的开发者环境
- Hyperledger Solang:在 Solana 上的 Solidity 编译器
对于 EVM 生态可用的大多数主要工具,都存在 Solana 的等效工具。考虑到 Solana 相对于 EVM 的新兴地位,上图显示 Solana 的开发者生态系正在积极地建构所有必要的工具以提升 Solana 开发者的使用体验。尽管尚未达到 Foundry 的高标准,Solana 生态系仍正不断改进和优化其开发工具。
后续维护
维护的便利性,主要涉及以下几点:
- 测试和除错:测试智能合约的方法与其难易度
- 安全性: 如何确保智能合约的安全性?
- 分析: 如何监控于正式环境中运行的应用程式?
测试和除错
测试和除错在开发周期中扮演著非常重要的角色,除了能帮助团队更快地发现问题,也能降低在正式环境中的潜在风险。在 Solana 已有一系列工具,使测试和除错过程变得更加容易:
- 除错器(Debugger):Bokken 和 ledger-tool。使用这些工具,开发者们将可以单步执行基于 Solana 的智能合约上的断点,了解每行程式码的帐户状态。
- 测试: Anchor 框架的 Mocha 是当今 Solana 智能合约中最常用的测试框架。新推出的 Solana Bankrun 能达到更快的测试和更多的测试功能。Solana-program-test 也具有类似的功能和速度。
- 程式码覆盖率: Solana 目前缺乏智能合约的程式码覆盖工具。尽管可以使用通用的 Rust 程式码覆盖工具,但其中大多数仍无法被准确测量。
- 日志记录: 大多数情况下,solana-program 是最常被使用的 Solana 日志记录器。这个日志记录器可以通过智慧合约日志进行提取,并通过 Geyser 或 sologger 进行导入以协助分析。此外,还存在一些 SaaS 工具,如 Ironforge,可以协助在正式环境中监视应用程式的日志。在过去的一年中,通过 Anchor 框架对基本日志记录进行了改进,以避免许多早期的限制。
- 事件: Anchor 框架目前提供了一种能处理事件的基本功能,然而,目前若想实现即时的事件伫列(Event Queue)仍须基础设施的支援,目前有一些提案将被预期能改进这一点。
安全性
开发者如何确保他们的智能合约是安全无虑的呢?
- CI 扫描:开发者可以使用 Github Actions 进行基本的扫描,以寻找智能合约中的小漏洞。这种扫描可以协助开发者在进行任何部署之前迅速发现漏洞。
- 审计:任何正当的智能合约开发者,都会请生态系内的第三方公司进行审计。在 Solana 已经有多家公司专门从事审计的业务。
- Fuzz 测试:对常见已知漏洞进行适当的 Fuzz 测试,是维护智能合约安全的一种好方法。有一些 Fuzz 测试框架,如 trdelnik可以快速测试智能合约,得知是否容易受到攻击。
- 实时扫描:在正式环境中运行时,最好能通过实时扫描交易异常,以积极应对潜在威胁。Riverguard在主网上提供了高水准的扫描服务,用于监测链上应用是否容易受到攻击。
Solana 生态已经建立了相当多的工具,以确保在正式环境中保持链上应用程式的安全性。然而,随著开发者技能等级的提高,更复杂的攻击也随之而来。Solana 将持续优化以推进安全性和工具的演进。
数据分析
为了更快速地观察市场动向,开发者需要了解其应用程式以及竞争对手的表现数据。当前,众多主流的分析平台都已支援 Solana。由于 Solana 智能合约中的介面定义语言(IDL)尚未在所有已部署的 Solana 智能合约中普及,因此限制了分析平台在数据的可用性和深度,使其无法提供全面的的帐户洞察。然而,随著 Anchor IDL 框架的逐渐普及,我们可以预期智能合约的分析将随之完善。
未来展望
尽管 Solana 开发者生态系仅存在短短四年,但在这段时间内,我们已逐渐培育出强健的生态系。Solana 生态系中仍存在著许多机遇:进一步优化本地端开发环境、更强大的事件系统、更多完整产品历程的范例,等等。
Solana 基金会将继续竭力发展 Solana 开发者生态,同时也将持续鼓励新进开发者们做出贡献,并将更加完善开发工具,以期创造极致的开发者体验。
参考资料
- 报告原文连结:https://solana.com/news/2023-state-of-solana-developer-ecosystem
- Solana 开发者数据:https://github.com/solana-foundation/solana-developer-data
- Solana 开发者指南:https://solana.com/developers/guides
- Hyperdrive 全球骇客松:https://solana.com/hyperdrive
- Solana 的企业采用评估指南:https://www.helius.dev/blog/evaluating-solana-for-enterprise-use-a-comprehensive-guide
- Solana 求职网:https://jobs.solana.com/jobs
- 2022 Electric Capital Developer Report: https://www.developerreport.com/developer-report
- Solana 文件:https://solana.com/docs
- Solana 开发入门指引:https://solana.com/developers/guides/getstarted/hello-world-in-your-browser
- Solana 程式范例:https://github.com/solana-developers/program-examples
- Solana Cookbook:https://solanacookbook.com/#contributing
- Solana 改进文件:https://github.com/solana-foundation/solana-improvement-documents
- Solana 规格:https://github.com/solana-foundation/specs
- Umbra Research:https://www.umbraresearch.xyz/writings
- 学习资源:
- Unboxed Solana Course
- Freecodecamp
- EasyA
- IdeaSoft
- Solana 2021 年度开发者生态概况报告:https://www.jetbrains.com/lp/devecosystem-2021/#Main_programming-languages
- UI 框架:https://survey.stackoverflow.co/2023/#section-most-popular-technologies-web-frameworks-and-technologies
- Dapp Scaffold:https://github.com/solana-labs/dapp-scaffold
- Wallet Adapter:https://github.com/solana-labs/wallet-adapter
- Solana 开发工具组:https://docs.solana.com/cli/install-solana-cli-tools
- Foundry:https://github.com/foundry-rs/foundry
- 开发者数据浏览:https://www.developerreport.com/
Gen3
报告完整版:https://go.gen3.network/substack-The-2023-State-of-the-Solana-Developer-Ecosystem