原文:Cairo gets high marks from Starknet devs. Here’s why.
翻譯及校對:Starknet 中文社區
📑 轉載請註明出處 🕹️
引言
在過去一年中,Starknet 開發者體驗發生了顯著變化,其標誌是從 Cairo Zero 轉向更先進的、類 Rust 的 Cairo。這一演變不僅提升了安全性和可用性,還獲得了社區的正向反饋。最近對 92 名 Starknet 開發者發起的調查顯示,這些變化受到了廣泛歡迎。
幾項值得關注的統計數據:
-
開發者概況:61% 的 Starknet 開發者擁有至少 3-5 年的開發經驗。
-
Cairo > Cairo Zero:74% 的開發者更喜歡使用 Cairo 而不是舊版的 Cairo Zero。
-
Cairo Zero 死忠粉:6% 仍是 Cairo Zero 的忠實擁躉。
-
更好的開發體驗:62% 的開發者表示,過去一年內 Starknet 開發體驗有了顯著提升。
-
Cairo 與其他語言的比較:超過 70% 的開發者偏好 Cairo 或對 Cairo 的喜愛程度不亞於他們使用的其他語言。
-
未來工具展望:開發者希望在 Starknet 上看到的未來工具:
-
Starknet 在線調試器和性能分析器
-
Cairo 註冊中心(類似 crates.io)
-
Starknet 文檔生成和註冊中心
-
在深入瞭解更廣泛的調查結果之前,還應該提及過去一年中開發體驗的其他變化,以便提供背景信息:為了支持新的 Cairo 和 Starknet 基礎架構向 Rust 的整體轉變,許多工具都是用 Rust 重新開發或完全重寫的。這些進步為更強大、更高效的開發環境奠定了基礎。
其中值得一提的有
-
Starkli:用於與 Starknet 交互的全新超快 CLI
-
Scarb:用於 Cairo 編譯和依賴管理
-
Starknet Foundry:開發 Starknet 智能合約的首選套件
-
Devnet-rs:用 Rust 重寫,取代 Pythonic devnet
感謝所有調查參與者。調查中提供的見解將幫助我們構建功能規劃、新工具和 Cairo 新功能的路線圖。
開發者情況統計
首先,我們總結了調查參與者的各種情況,包括他們的編程經驗以及使用 Cairo 和 Starknet 的經驗。
大多數參與者表示,他們有 3-5 年的編程經驗。
最大的調查參與者群體是智能合約開發者,佔受訪者的 45%。這一重要比例突顯了開發者對於使用 Cairo 構建安全高效智能合約的興趣和依賴日益增長。工具開發者和研究者則構成了調查的第二大群體,凸顯了 Cairo 的多功能性及其在區塊鏈開發各個層面的吸引力。
絕大多數參與者(73%)正在使用 Cairo 在 Starknet 上開發智能合約。調查還強調了 Cairo 的多樣化應用,一些開發者使用這種語言來通過 SHARP 或 Stone 證明程序,或者用於應用鏈的開發工作。
我們的調查顯示,29% 的參與者主要依靠《Cairo Book》來學習 Cairo。緊隨其後的是 Starknet 文檔和 Core Stars Telegram 群組,這些資源在開發者的學習過程中也發揮了重要作用
Cairo 開發工具
開發者調查還揭示了 Cairo 開發者最常使用的是哪些工具,為開發生態系統和 Cairo 開發者的工作流程提供了寶貴信息。這些內容不僅有助於識別社區內的趨勢,還能指導工具的未來改進和創新,為各位開發者的工作提供更好的支持。
調查結果揭示了 Cairo 開發者最青睞的 CLI 工具 為 Starkli,46.7% 的開發者表示這是他們的首選。儘管技術不斷進步,但仍有一些開發者還在使用已經過時的 starknet-cli 工具。這種持續使用表明開發者對老工具有一定的熟悉感和舒適度,但同時也突顯了繼續教育和過渡支持的必要性,以確保所有開發者都能受益於工具的最新改進功能。
大多數開發者結合使用 Scarb 和 Starknet Foundry 作為他們的開發框架,而 23% 的開發者僅依賴 Scarb 進行構建和測試。
Forking 和 Fuzzing 是 Starknet Foundry 測試中最常用的功能。Starknet Cast 腳本則不常用。
不出所料,Starknet.js 是開發者最常用的 SDK,其次是 starknet-rs。(在過去一年中,大多數 Starknet 技術棧已從 Python 轉移到 Rust 代碼庫。)
Katana 和 starknet-devnet-rs 均有開發者使用,其中使用 Katana 的開發者更多。
絕大多數開發者使用 VSCode 作為開發 IDE,也有一些人使用 Vim 或 Starknet Remix 插件。
智能合約語言
我們想了解,與使用開發者熟悉的其他智能合約語言編寫相比,使用 Cairo 編寫智能合約會有何不同。我們的調查顯示,大多數開發者(54%)在工作中除了使用 Cairo 外,還使用 Solidity。這種顯著的重疊表明,雖然 Cairo 正在獲得越來越多的關注,Solidity 仍然是開發者工具箱中的基石。比較這些語言有助於我們評估每種語言的學習曲線、效率和獨特優勢。
不過,超過 70% 的開發者表示喜歡 Cairo,無論是專門使用還是在使用其他語言的同時使用。這種強烈的偏好彰顯了 Cairo 在開發者社區中日益增長的受歡迎程度和受到的好評。這表明開發者非常欣賞 Cairo 的特性和功能,認為其是對他們技能組合的寶貴補充。隨著越來越多的開發者認識到 Cairo 的優勢,並將其集成到自己的項目中,甚至取代其他語言,這種偏好也凸顯了 Cairo 成為智能合約開發領域主流語言的潛力。
Starknet 開發體驗
讓我們把焦點轉向在 Starknet 上的一般開發體驗,大多數參與者認為其開發體驗高於平均水平。在從 1 到 7 的回答選項中,86% 的受訪者位於量表的高分位置,表明了開發者們持有的積極情緒。這種有正向評價反映了 Starknet 生態系統的穩健性和對開發者的友好性。
大多數參與者認為 Starknet 的開發體驗在過去一年中得到了顯著改善。我們希望這一趨勢能夠持續下去,推動進一步的提升,使開發過程更加精簡且愉悅,不僅吸引更多的開發者加入社區,還將促進更多創新和用例。
與 Cairo Zero 相比,絕大多數開發者更喜歡 Cairo,但也有一些守舊的愛好者仍然堅持使用 Cairo Zero。
接下來,我們應該開發什麼?
當被問及下一步應該開發哪些工具時,回答者在給定選項中的分佈非常均勻。這種缺乏強烈偏好的情況表明,開發者看到了各種潛在工具的價值,反映了社區內的不同需求和優先事項。隨著我們不斷發展進步,我們鼓勵大家關注這一領域,我們將致力於滿足這些多樣化的需求,並繼續提升 Cairo 開發者的工具箱。
參與者強烈希望為 Cairo 開發更多高級調試功能,以便進行更高效、有效的故障排除。此外,對代碼覆蓋率工具的需求也非常明顯。這種工具可以提供有價值的洞察,幫助開發者瞭解代碼庫的哪些部分正在接受測試,從而確保智能合約的穩健性和可靠性。
對代碼覆蓋率的需求也是 Starknet Foundry 中需求最高的功能,凸顯了其在整個開發生態系統中的重要性。滿足這些需求對於支持社區、提升 Cairo 和 Starknet 的整體開發體驗至關重要。
下一步展望
在過去一年中,Starknet 開發者技術棧的許多組件都發生了巨大的變化。首當其衝的當然是 Cairo 本身,從 Cairo Zero 遷移到 Cairo。與 Cairo Zero 相比,Cairo 的表現力更強、更高級,編寫起來也更安全,為尋求利用有效性證明的開發者帶來了無限可能。除了從 Rust 獲取大量靈感的 Cairo 之外,許多工具也從 Python 遷移到了 Rust 實現。這些工具包括:Protostar(將被 Starknet Foundry 取代)、前 Pythonic devnet(將被 devnet-rs 取代)、starkli CLI 以及其他工具。很高興看到許多開發者認為 Starknet 的開發體驗在過去一年中有所改善。當然,我們並沒有止步不前,還有很多工作要做。在即將到來的一年中,我們希望在以下值得注意的方面有所改進:
-
文檔和示例:許多開發者指出,儘管工具本身通常能滿足他們的需求,但要為所有功能找到好的示例和文檔並非易事。我們希望重點改進 Cairo 本身以及 Cairo 和 Starknet 工具的文檔和示例。
-
Cairo 語言服務器:超過 70% 的參與者使用 VSCode 作為他們的 Cairo IDE,並依賴 Cairo 語言服務器提供語法高亮、智能代碼補全等功能。作為開發者最常使用的工具之一,它在許多情況下代表了語言本身。許多開發者指出,Cairo 語言服務器目前存在一些漏洞,並且性能也不夠好。我們將在接下來的一年中專注於改進語言服務器。
-
新的實用程序和功能。要使 Cairo 更安全並改善開發體驗,仍存在一些必要的實用程序缺失。其中一個例子就是 Starknet Foundry 中的代碼覆蓋。本次調查中提出的代碼覆蓋範圍和其他功能需求將有助於我們安排明年的優先事項。
我們要感謝所有致力於構建 Starknet 工具和改善開發者體驗的優秀團隊:
-
以及所有為 Cairo 工具的開發和改進做出貢獻的人
點擊查看 Starknet 開發工具和資源:https://www.starknet.io/developers/tools-and-resources/