2023年漲了快八倍的第三大區塊鏈Solana,對技術開發者而言代表什麼意義?

文:Gen3(Gen3是專注於Web3產品的內容創作者、推廣者及社群平台,我們致力於找尋Web3新興產品或概念驗證、開拓對於Web3新技術的認知邊界,以及探索Web3能為世界帶來的真正價值)

在2023年,Solana生態系於開發工具、開發者體驗以及和程式語言多樣性等方面皆取得了重大進展。截至目前為止,每個月仍有超過2500名活躍開發者在持續為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的1059名開發者當中,具有三年以上開發經驗的更高達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、NasAcademy

>SDK和開發框架

Solana擁有一套強大的SDK,而在UI框架方面,Solana則集中使用React和Next.js工具。針對各種程式語言,我們可以用下列三個指標來評估:

Solana SDK:是否存在該語言的SDK?

開發框架(Program Framework):是否有對應的開發框架?

開發者衝擊(Developer Impact):有多少比例的開發者使用過這個語言?

剛加入Solana生態系的開發者現在可以完全只用TypeScript進行Solana開發,無需學習Rust或開發Solana智能合約。除此之外,不同技術領域的開發者也有新的工具可供使用:遊戲開發者可以使用完整功能的Unity SDK、Godot SDK和UnrealEngine 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開發者生態,同時也將持續鼓勵新進開發者們做出貢獻,並將更加完善開發工具,以期創造極致的開發者體驗。

延伸閱讀
2024年日本企業迎接ESG 3.0時代、實現性別平等、男女同工同酬是重要課題
人設變品牌、流量變現金:各國金融業如何把「網紅」影響力變現