IOSG Ventures:开發者視角下的不同ZK Rollup用戶體驗
原文作者:Yiping,IOSG Ventures
TL;DR
Starknet 在 2022 年 11 月 29 日推出 Alpha Mainnet。
Scroll 在 2023 年 2 月 27 日推出其 Goerli Alpha Testnet。
zkSync 在 2023 年 3 月 24 日推出 zkSync Era Mainnet。
Polygon 在 2023 年 3 月 27 日推出其 zkEVM Mainnet Beta。
有了這些衆多的 ZK Rollup,作為一名 Solidity 开發者,你可能會好奇:
-
哪個提供了更適合你的开發者體驗?
-
哪個提供了你更需要的开發者支持?
-
如果你打算創建你的項目,哪個最適合你?
隨着 ZK Rollup 的陸續上线,現在是研究 ZK Rollup 开發體驗的最好時機。考慮到所有 ZK Rollups 都在推廣他們的 EVM 兼容性,我們對开發者體驗的探索將從 Solidity 工程師的角度出發,讓我們通過數據驅動的答案深入探討這些問題 ⬇️
? ZK Rollup 的代碼开源比較
开源提升了开發者體驗,通過促進質量、安全性和合作。其透明性允許全球开發者解決 Bug 和安全問題,從而持續提升軟件。GitHub 充當學習平臺,提供對各種編碼風格、先進技術和行業標准的訪問,豐富了开發者的旅程。开發者可以根據特定需求修改代碼。开源通過多樣化的社區鼓勵協作和創新,推動項目的發展。
項目通常在達到關鍵裏程碑後开源他們的代碼,通常是當代碼至少達到 Alpha 版本時。仍在進行大量开發的代碼不適合开源,因為它們可能無法提供預期的好處,如質量提升、安全性提升和協作學習。因此,开源代碼的數量通常與項目开發階段相關。
所有的 ZK Rollup 都在他們的 GitHub 上投入了大量的工作,盡管他們提供的內容有所不同。
? 項目語言選擇
Rust 在許多項目中成為構建編譯器、節點、工具鏈、CLI 工具和虛擬機的首選語言。
? 开發文檔
开發文檔對於开發者體驗至關重要。這些資源有效地彌合了 Layer 2 解決方案的復雜性和以太坊虛擬機 (EVM) 兼容的开發生態系統之間的鴻溝。
不同的項目提供稍微不同的文檔結構和內容。
zkSync 為其特色功能 AA 和 Layer 1 <> Layer 2 通信提供了詳細文檔和參考代碼。
我們發現了以下改進的空間:
-
包含文件名和路徑:在任何代碼塊的开始部分,都要提到文件名和其路徑。這有助於用戶知道在哪裏找到或放置代碼。
-
展示 CLI 執行結果:在提供命令行接口 (CLI) 指令時,包括命令的示例輸出。這有助於用戶知道應該期待什么,並驗證他們是否正確執行了命令。
-
限制代碼行長度:為你的代碼示例設置最大行長度。這確保你的代碼易於閱讀,無需水平滾動。
-
使用真實的示例:而不是使用佔位符或 'xxx',提供示例合約地址或祕鑰。這使用戶更好地了解他們應該使用何種數據。
-
對於復雜教程提供項目視圖:對於更復雜的教程,在教程的側邊提供項目視圖。當用戶瀏覽教程時,突出顯示代碼的相應部分。
-
交互式示例:包含交互式示例以幫助快速引導开發者。這可以是一個播放區,用戶可以編輯和運行代碼片段,或者是雲开發環境。
-
整理文檔:確保你的文檔結構良好,易於導航。使用清晰的標題,目錄。
-
保持更新:隨着項目的發展,確保你的文檔保持最新。這可能意味着更新截圖,修訂代碼示例,或者重寫部分以反映新功能或變化。
?? 社區和團隊貢獻
貢獻者的數量反映了开源社區的參與度。更新的頻率和參與度對於保持最新、全面的文檔至關重要。
貢獻人數越多代表其开源社區更活躍。大部分項目都在剛上线的時候達到文檔更新頻率的最高峯。
?? 編碼體驗
編碼體驗取決於工具鏈、編輯器體驗和框架。
相關工具鏈決定了是否容易設置本地开發環境、調試和運行代碼。
編輯器體驗決定了編碼的速度。一個好的編輯器體驗應該包括清晰的語法高亮、定義和自動補全。
框架提供了一個結構化的環境,大大加速了开發過程。它們帶有預配置的功能和可重用的庫,开發者可以利用這些來有效地編寫智能合約,無需從頭編寫每一行代碼。
Remix 類似軟件的支持可以幫助开發者在不需要建立自己本地環境的情況下快速开始开發工作。目前,這種雲原生的开發體驗只適用於後端智能合約。它還需要進行改進以適應 Dapp 开發,包括智能合約和前端。
Warp 表現不佳。Kakarot 將是與 StarkNet 兼容的 EVM 的唯一解決方案。Kakarot 提供了一個非常流暢的 Solidity 开發體驗。與所有現有的以太坊工具,如編譯器、Remix 和 Hardhat 兼容。
Kakarot 提供了一個用 Cairo 編寫的 EVM。作為一個 EVM,Kakarot 能夠執行 EVM 字節碼程序,使得 Ethereum 智能合約能在 StarkNet 上運行。
✍️ 測試
測試是智能合約开發的重要方面,它確保了智能合約的質量、功能和可靠性。這個過程包括驗證每個功能是否按照預期運行,並在部署之前找出需要修復的任何錯誤或問題。通過進行徹底的測試,开發者可以有信心,軟件將在各種場景和條件下正確運行。這個過程不僅防止了可能影響用戶體驗的潛在故障,而且幫助維護智能合約的完整性和安全性。測試還使开發者了解到潛在的優化,從而有助於智能合約的持續改進。
Tenderly 是智能合約开發的最佳調試工具之一。它提供智能合約執行模擬、調試器、燃氣分析器、分叉和警告功能,以幫助开發者更好地構建 Dapp。然而,Tenderly 並不支持任何 ZK Rollup。
希望在不久的將來,我們能看到更多支持 ZK Rollup 的智能合約开發和調試工具,這將有助於推動區塊鏈技術的進一步發展和應用。
? 部署
部署過程在智能合約开發生命周期中至關重要。好的部署工具為從开發到鏈上環境部署智能合約提供自動化、一致和可靠的體驗。好的部署工具可以顯著減輕手動部署任務的負擔,從而加快交付時間並減少人為錯誤。
StarkNet 的部署步驟分為 Declare 和 Deploy 兩步,因此需要較長的時間。
✨ Layer 2 新特性
Layer 2 解決方案在解決可擴展性、效率和用戶體驗的挑战方面發揮着至關重要的作用。ZK Rollup 還處在早期階段,但已經顯示出解鎖开發者新可能性的巨大潛力。
通過提供如狀態差異 (State-diff)、無縫的 Layer 1 與 Layer 2 通信,以及账戶抽象化等突破性創新,ZK Rollup 使开發者能夠創建創新項目,推動區塊鏈可實現的界限。這些高級特性不僅增強了去中心化應用的能力,而且為區塊鏈技術的主流接納鋪平了道路。
狀態差異(State-diff)
StarkNet 和 zkSync Era 使用狀態差異技術,理論上,可以產生更低的費用。他們只發布狀態差異,而不是交易輸入,這允許數據壓縮和降低存儲成本。這將會給遊戲开發者帶來好處。
Polygon zkEVM 在鏈上發布所有的交易輸入,依賴於預期在未來幾年內數據存儲成本的降低。
Layer 1 <> Layer 2 通信
大多數 ZK Rollup 提供 Layer 1 <> Layer 2 通信功能。例如,zkSync Era 提供了一個利用 Layer 1 <> Layer 2 通信的治理例子。在 Layer 1 上,合約可以啓動一個 Layer 2 合約執行。在 Layer 2 上,Layer 2 合約只能向 Layer 1 合約發送信息。然後我們可以在 Layer 1 上處理收到的消息。同樣,Polygon 提供了一個關於 Nft-bridge 使用跨鏈通信在 L1 和 L2 之間共享信息的編碼示例。
账戶抽象化
账戶抽象化是另一個令人興奮的特性。zkSync Era 提供原生的 AA。zkSync Era 的账戶可以啓動交易,像 EOA 一樣,但也可以在其中實現任意邏輯,像智能合約一樣。由於 zkSync 原生實現了 AA,账戶不需要額外的代理合約。即使是普通的 EOA 也可以有無需燃料費支付的交易,這在僅僅 EIP-4337 中是不可能的。Polygon zkEVM 和 Scroll 實現了與 EVM 兼容的 AA。StarkNet 也正在進行账戶抽象化的工作。它尋求實現籤名抽象化和支付抽象化。
? 未來對开發者體驗的改進
在這次的研究中,我們深感這些 ZK Rollup 項目在不斷改進產品和對开發者的支持方面付出了巨大的努力。然而,考慮到我們還處在區塊鏈應用的初級階段,面臨的开發者群體相對較少,因此,致力於提升开發者體驗無疑會幫助項目吸引未來的开發者,並最終塑造這個行業的未來。
以下是一些提高开發周期支持的常見建議:
1 ,文檔:
-
高質量的文檔:全面、清晰和及時更新的文檔對於提高开發者體驗至關重要。確保文檔的完整性、清晰度、包含例子,並定期更新。
-
直觀的 API 設計:API 應該一致、直觀,並有良好的文檔。根據 API 文檔的清晰度和可訪問性,以及完成常見任務的容易程度評估 API 設計。
-
完整的 API 引用和更改日志:提供詳細的 API 引用,包括函數、參數、返回值和錯誤代碼。維護一個更改日志,跟蹤更新、新功能、bug 修復和已棄用的功能。
-
案例研究:展示產品應用的例子,以啓發和教育开發者有效解決問題。
-
流暢的上手體驗:通過簡化環境設置,解釋核心概念,和促進基本應用的創建,來縮短新开發者开始的時間。
2 ,可用性和效率:
-
工具的可用性:確保提供的工具用戶友好且直觀。通過評估开發者執行常見任務所需的時間來衡量使用的便利性。
-
錯誤信息和調試支持:通過有用的錯誤信息和強大的調試支持來提高开發者體驗。你可以通過故意創建常見的錯誤,然後檢查系統的回應有多幫忙來衡量這個。
-
集成和兼容性:評估工具或平臺與生態系統中其他常用工具的集成程度如何。
3 ,透明度和更新:
-
產品狀態:及時更新關於操作問題、維護計劃和系統停機的信息,可以幫助开發者有效地規劃他們的工作。
隨着 Web3 領域的技術快速進步,以一種可擴展和可持續的方式維持一致的高水平开發者體驗,對於 Web3 項目來說是一個顯著的挑战。
為了應對這個挑战,我們建議項目探索兩個方向:利用 AI 來增強自動化和生產力,減少對大量人力資源的需求,和利用社區的力量,激勵貢獻。
-
AI 助力:生成和維護大量文檔可能需要大量資源。大型語言模型可能幫助开發者編寫和維護高質量的文檔。此外,AI 驅動的 Q&A 機器人可以提供及時准確的回答开發者的查詢,進一步提高他們的體驗。
-
激勵社區參與:為了促進社區的參與,項目可以提供各種激勵,包括財務和非財務激勵。例如,類似賞金的項目可以擴展到包括在代碼、代碼庫測試、文檔改進、翻譯工作和無價的第一手反饋中的貢獻,這些反饋直接來自用戶,反映出可以指導項目團隊改進產品的實際需求。這種方法不僅有可能提高資源的質量,還可以幫助減少維護成本。通過活躍的社區渠道(如 Discord、Substack 等)承認貢獻,給予貢獻者贊揚。
通過強調以开發者為中心的設計,並通過社區的共同努力,提供引人入勝的开發者體驗,我們可以在 Web3 世界中培育一個充滿活力和包容性的开發者生態系統!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
解讀幣安Launchpool最新上线項目Usual:RWA去中心化穩定幣
@OdailyChina @Asher_ 0210 今日下午,幣安宣布將於北京時間 11 月 19...
HTX成長學院 | 11月加密市場宏觀研報:比特幣突破9.3萬美元,史詩級牛市周期开啓
一、引言:加密市場背景與大勢判斷 2024 年 11 月,加密貨幣市場迎來具有裏程碑意義的時刻,比...
星球日報
文章數量
7087粉絲數
0