Grandine 精簡客戶端修正版本錯配,驗證共識規格實作
Grandine Lean Client Development
場次摘要
講者介紹 Grandine 精簡客戶端的測試修復工作。接手時,Hive 自動化測試僅有 47 項通過,失敗集中於分叉選擇與狀態轉換。團隊發現,測試環境的最新標籤仍指向 Devnet 4 實作,卻執行 Devnet 5 測試;測試驅動程式也有欄位命名與拒絕原因讀取錯誤,因此不能把所有失敗都歸因於客戶端邏輯。 團隊將部署改用 Devnet 5 版本,修正測試欄位、補上已最終確認區塊的查詢介面,並調整投票與簽章驗證邏輯,也將完整 Hive 測試納入程式碼審查流程。講者回報收尾時有 305 項通過,但測試總數期間持續變動,仍有三個測試組未全數通過。講者並表示,精簡客戶端開發已收尾,相關後量子工作將轉向既有主網客戶端。
值得記下的 5 件事
- [6:20]
版本錯配造成大量測試失敗 團隊從 Hive 測試結果查出,最新標籤仍指向 Devnet 4,卻拿來執行 Devnet 5 測試
講者表示,改用對應版本後,通過項目從 47 項增至約 240 項;這部分改善來自修正測試所用版本,而非逐一修改客戶端邏輯。
- [3:40]
測試驅動程式的欄位錯誤影響多個測試組 簽章驗證測試的資料欄位與客戶端命名格式不符,修正後三項全數通過
狀態轉換測試另有拒絕原因讀取錯誤;修正並補充應拒絕的測試案例後,該組 74 項全數通過。
- [5:40]
客戶端本身也調整投票與簽章檢查 除了修正測試驅動程式,團隊也修改實際客戶端邏輯,包括拒絕針對未知區塊的投票,以及超出範圍的投票,並調整節點間傳播訊息的簽章驗證
- [8:00]
完整測試納入審查流程,但前後測試集並不固定 團隊表示,每次提交程式碼合併請求都會執行完整 Hive 測試,以標示失敗問題
收尾時回報 305 項通過,仍有三組未全數通過;測試總數則由 321 項變為 317 項,期間有增刪案例,不能視為固定測試集的前後比較。
- [10:20]
人工智慧協助理解與分類,修復多由人工完成 回應提問時,講者表示,人工智慧能協助理解問題原因,並區分明顯錯誤與需要深入檢查的複雜問題
不過,實際修復大多手動進行,講者也將親自實作視為學習的一部分。
更多來自 DEVCON 8
Arrow 的硬體 DAO 實驗:AI 協作、在地製造與責任分工
A DAO Shipped an Aircraft: What It Takes to Coordinate Atoms with Tokens
Thomas Garrison
Kohaku:以 SDK 將隱私與安全功能帶入以太坊錢包
Kohaku : privacy for everyone, by default
Nico、Vitalik
私密區塊鏈的取捨:隱私、去中心化與合約協作
Private State, Public Network: The Tradeoffs Behind Privacy
Zachary Williamson