我們很高興與大家分享Gear 的最新進展,現在網絡功能完整! 我們已經邁過這個巨大的里程碑,接下來我們將把重點轉向代碼優化,並為測試網的全面發布做準備。這一階段將涉及內部審查和第三方審計,用以提高安全性和性能。

2 月份,我們在開發過程中有幾項重要的更新,我們特意在這裡與大家分享。

本月的主要更新是gstd crate,更新後的gstd crate 允許從程序中發送消息,而無需明確設置gas 限制。換句話說,當使用msg::send(), msg::reply()和相關函數時,我們不需要設置處理這些消息所需的gas 限制。 Gas 將自動從父消息中藉用。注意,這是一個突破性的改變,因為當前函數的簽名已經改變。新函數msg::send_with_gas(), msg::send_commit_with_gas() 和msg::send_bytes_with_gas()被引入,用於在需要時發送有明確gas 限制的消息。想了解更多細節,請查閱gstd::msg 文檔

我們為程序實施發布了補丁1補丁3 。現在,一個程序不僅可以由用戶提交,也可以由其他程序提交。首先,用戶必須通過調用外部的submit_code 來存儲代碼,並接收代碼id。然後,程序可以通過提供代碼id、salt 和init 消息來使用prog::create_program_with_gas()函數在鏈上創建一個新的程序實例。這個函數返回新創建程序的id。開發者可以通過更改salt 參數來創建多個程序實例。

我們重新設計了用於計算gas 費的RPC 調用。 現在不僅可以計算出處理一個消息所需的gas 量,而且還可以計算出初始化一個程序和處理應答所需的gas 量。現在,該節點接受三個RPC 調用:

  • gear_getInitGasSpent 用於計算提交和初始化一個新程序時的gas 量;
  • gear_getHandleGasSpent 用於獲取處理一條消息的gas 量;
  • gear_getReplyGasSpent 用於計算回復用戶郵箱中的信息所需的gas 量。

另一個更新是回滾狀態機制。在這種情況下,成功的執行是指在程序結束前或通過調用沒有陷阱的wait 來完成的執行。即使出現陷阱,也不會有任何變化影響鏈:沒有內存(狀態)變化,沒有傳出消息,只提供系統錯誤回复。另外,我們增加了一個特殊的系統調用leave,以引起一些panic(人工陷阱)退出執行,但保存狀態和傳出消息。

另一個新的系統調用exit 也已經實現。它預先停止了一個程序的執行,並將該程序從存儲器中刪除。現在所有可用的程序餘額被轉移到exit 參數指定的地址。另外,從現在開始,程序中的價值管理允許從鏈上管理賬戶餘額。直接發送的最小值取決於節點的ExistentialDeposit。

我們規範化了缺失函數入口的情況。換句話說,如果某些函數入口點(init、handle 或handle_reply)未被提供,則意味著這個函數是空的。

我們添加了一個gear-wasm-builder crate 。 gear-wasm-builder 是一個用於構建腳本(又稱build.rs)的輔助工具箱。它有助於構建智能合約並獲得WASM 二進製文件(.wasm)以及只需在build.rs 腳本中添加一行代碼便可以生成優化(.opt.wasm)和元數據(.meta.wasm)輸出。此外,它還可以使用更直接的命令來啟動構建(僅僅是cargo 構建,不需要任何附加參數),並保證在測試( cargo 測試)之前創建合約。

另一個重要的技術更新是,現在我們可以通過喚醒邏輯保存消息上下文。之前我們無法通過wait-wake 存儲msg::send_push 和msg::reply_push 傳遞的不完整的有效載荷,因為我們沒有存儲具體消息執行的上下文,現在我們不僅具備這種能力,還解決了程序發送多個回复時的bug。

本月,我們社區舉辦了兩場在線Workshop,一場面向中文用戶,與Forge合作的另一場則面向英文用戶。後續,我們將與Forge 共同舉辦Workshop 的第二部分。這場Workshop 非常具有實踐性,所有參與者將學會在Gear 上部署他們的第一個智能合約。

繼我們在世界各地舉行一系列教育Workshop 之後,我們很開心與@escomunidad合作,在墨西哥舉辦了首場Workshop!另外,在2 月份,我們在比特幣大使館酒吧組織了我們在墨西哥的第一次聚會。

在此,我們向各位參與者表示衷心的感謝!我們將在未來舉辦更多具有互動性和沈浸式的Workshop 和Meetup,請持續關注我們,獲取最新資訊!

同時,我們真誠感謝社區成員製作的視頻和文章,歡迎關注我們的Twitter ,查看相關信息。

此致,

Gear 團隊

關於GearFans

Gear 是波卡生態的計算組件,GearFans 是Gear 愛好者社區。