Solana 2023 開發者生態數據大解析,一窺頂級公鏈如何重返榮耀
內容目錄
浪鏈引言
如今位居加密貨幣市值前五名的 Solana 公鏈,其實在前年 (2022) 年底受到 FTX 交易所破產倒閉事件影響,市值從當年 1 月的 550 億美元暴跌將近 95%,最低跌至僅 30 億美元左右。
然而,就在眾人不看好的情況之下,Solana 仍然堅持不懈地和全球開發者緊密合作,積極建設、完善整個生態,也因此在 2023 年末的小牛市場趨勢下迅速翻身,實現重返市值前五名 (甚至一度衝高到第四名) 的榮耀。
Gen3 作為 Solana 在台灣長期密切合作的開發者社群,近年積極推廣 Solana 生態開發和項目育成。他們不僅連續多年舉辦在地 Solana 工作坊,也在去年籌辦盛大的 Taipei Hacker House,將全球開發者目光焦點聚集在台灣。
在 2024 一開年,Gen3 也為我們帶來相當精彩的《2023 Solana 生態概況與開發工具最新進展》報告,將 Solana 發佈的 《The 2023 State of the Solana Developer Ecosystem》進行翻譯與彙整,讓大家得以一窺頂級公鏈的全球生態佈局。
報告本文
在 2023 年,Solana 生態系於開發工具、開發者體驗以及和程式語言多樣性等方面皆取得了重大進展。截至目前為止,每個月仍有超過 2,500 名活躍開發者在持續為 Solana 的開源程式碼做出貢獻,使 Solana 的開發環境更趨成熟。
第一部分: 了解 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 個月中的課程與培訓計畫如下:
- 自學課程和培訓計畫
- 由導師帶領的計畫
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 開發者生態,同時也將持續鼓勵新進開發者們做出貢獻,並將更加完善開發工具,以期創造極致的開發者體驗。