2023年Solana生态概况与开发工具最新进展

在2023 年,Solana 生态系于开发工具、开发者体验以及和程式语言多样性等方面皆取得了重大进展。截至目前为止,每个月仍有超过2,500 名活跃开发者在持续为Solana 的开源程式码做出贡献,使Solana 的开发环境更趋成熟。

以下就让我们来回顾2023 年的各项关键指标以及开发工具的最新进展:

第一部分: 了解Solana 开发者生态

开发者生态系的稳健,可以作为衡量各个公链健全状况的判断标准。Solana 将以下四个关键指标作为参考:

  • 每月活跃开发者数量
  • 开发者留存率
  • 开发者经验分布
  • 开发者数量增长与全球骇客松队伍数量增长

每月活跃开发者数量

衡量公链成长幅度最直观的方式之一,就是观察在该公链上进行开发的活跃开发者数量。Solana 基金会使用了一个开源服务来收集开发者数据,并且已有公开文件可以查证数据的收集方式与真实性。根据这套研究方法,Solana 在过去整年中持续保有2,500 ~ 3,000 位的每月活跃开发者。

值得一提的是,由于该指标仅能统计对公共储存库(Repo)做出贡献的开发者,在私有储存库中的开发活动并没有被计入此数据中,因此实际上活跃的开发者数量会比数据显示来的更多。

开发者留存率

除了观察每月活跃开发者数量,开发者的留存率也同样扮演着重要的角色,因为留存率低的开发者社群将难以实现可持续的成长。本报告留存率的定义为:只要开发者在加入后的三个月内「至少有一次投入开发的纪录」,即被视为成功留存。

在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 个职位。职缺的增加虽与留存率并不直接相关,但提供工作机会留住人才也可被视为是重要现象之一。

开发者经验分布

由经验丰富的开发者建构的项目,通常在获得新用户的表现相对较好,由此可推论开发经验将直接影响公链的整体成功。根据统计,Solana 开发者生态系中,有超过一半拥有至少3 年以上的经验,这些开发者为Solana 带入了强大的开发动能。

Solana Hacker House 是由Solana 基金会在世界各地巡回举办为期一周的活动,专为开发者和创业者提供学习和交流的场合。据统计,参加2023 年Solana Hacker House 的1,059 名开发者当中,具有三年以上开发经验的更高达52.5%。

开发者与全球骇客松队伍数量增长

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 基金会并未每日追踪区域发展的数据,而是透过每六个月举办一次的Solana Hackathon 来观测各区域的成长速度。最近的一次骇客松Hyperdrive 的参与者来自151 个国家,最终有来自65 个不同国家的参与者提交了最终专案。

在过去,美国一直是Solana Hackathon 中数量最多的国家,印度则紧跟在后。近年来,美国之外的团队提交项目的比例大幅增加,从2021 年的76% 增长到Hyperdrive 的91%。在具有丰富软体工程师资源的国家,如印度、德国、中国、英国、土耳其和越南,这些国家的开发者社群一直是优先关注的焦点。在未来一年中,同样值得关注的国家包括巴西和拉丁美洲、日本、法国、尼日利亚和以色列。

作为Solana 生态系最成熟的地区,来自美国的团队在骇客松获奖比例仍占主导地位,但这些数字在持续变化中,板块正在悄悄移动。

第二部分:在Solana 上开发

区块链技术的采用,需要强大的基础设施和开发者工具的支持。开发者在选择生态系时,主要会受到两个因素的影响:

  • **开发者体验(Developer Experience):**在此公链学习并开发产品的难易度为何?
  • 后续维护:在正式环境中维护和监控产品需要花多少时间成本?

开发者体验

任何一个开发者在决定是否要在Solana 上开发时,都可能会提出以下问题:

  • 开发者文件和实作范例: 在开发过程中参考说明文件和资源的难易程度
  • 教育课程和培训计画: 提供给开发者的学习资源有哪些?
  • SDK 和开发框架: 是否有好用的SDK 和开发框架以加速产品开发过程?
  • 本地端开发工具**:** 是否有灵活的工具以便能快速做出产品原型(Prototype)?
  • 等效工具**:** Solana 开发工具中是否有与其他生态系(EVM)等效的工具(例如:Hardhat)?

开发者文件和实作范例

Solana 现行的说明文件主要都是概念性的内容,当中包括帮助新进开发者的入门指南。过去一年中,Solana 已发表了大量的范例程式来帮助任何在Solana 链上开发应用的人,这有助于推动链上开发者生态系的启动。Solana Cookbook则包含了丰富的客户端程式码范例,每个范例至少包含三种不同的程式语言的数百个代码片段。

由于Solana 协议更新的速度较快,对于需要取得协议最新运作方式和资讯的开发者,目前仍缺乏内部即时的信息。Solana 优化文件和协议规格则旨在填补这些空白。随着Solana 的不断成熟,非官方研究单位如Umbra Research开始撰写有关Solana 内部运作机制的文章。

教育课程和培训计画

目前有多个完整的教育课程和培训计画能够帮助开发者融入Solana 生态系。其中包括自主学习的课程以及由导师带领的学习小组计画。教育计画的多样结构有助于开发者依照自身喜好的方式学习,提高参与者完成学习的机率。

过去12 个月中的课程与培训计画如下:

  • 自学课程和培训计画
    • Unboxed Solana Course
    • Freecodecamp
    • EasyA
    • IdeaSoft
  • 由导师带领的计画
    • Web3BuildersAllianace
    • Encode Club
    • Ackee Blockchain
    • Narr8ative
    • Calyptus
    • DevsNest
    • RiseIn
    • Nas Academy

SDK 和开发框架

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。

目前最受欢迎的前端框架是React 和Next.js。为使开发体验更加轻松,Solana 也为这些框架提供了scaffold和wallet-adapter。

  • Scaffold:一个允许开发者快速建立样板的工具。
  • Wallet-adapter:提供与Solana 钱包轻松整合的工具。

本地端开发工具

本地端开发环境是一套工具的整合,其目的是为了降低开发新应用时的阻力。开发者能在本地端机器上进行开发,既能加快开发速度又可以降低开发成本。

Solana 的本地端开发工具是Solana 工具套件。Solana 工具套件使开发者能够从头到尾在正式环境中运行使用,在本地机器上运行测试节点、发送交易、空投、部署智能合约以及对不同环境进行测试,等等。

与以太坊虚拟机(EVM)中的Foundry等成熟的工具相比,尽管Solana 工具套件具有通过CLI 发送交易并在主网上轻松复制帐户的功能,但由于Solana 上的智能合约是无状态(Stateless )的,因此抓取帐户的过程需要较多手动操作的流程,这也意味着:在本地端运行测试时,开发者需要在许多不同的位置收集或创建状态,而不拥有如EVM 那样的可扩展性。此外,Solana 协议在与智能合约交互时为用户提供序列化的选择,而此举导致了通讯缺乏统一的标准。然而,以上提到的这两点问题,在不久的将来都能够被解决。

与EVM 各类开发工具等效的工具整理(Tooling Parity)

几乎每个首次接触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://www.wwsww.cn/sol/23821.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。