'迅雷鏈WASM模塊正式開源 DApp開發效率提升50%'

"

8月13日,迅雷鏈正式向廣大開發者公佈WASM虛擬機模塊的源代碼和代碼庫,從而幫助迅雷鏈開放平臺上的開發者們瞭解虛擬機的內部實現機制、工作原理和使用方法,便於開發者進行更多場景的區塊鏈應用開發。同時,開發者也可以和迅雷鏈技術團隊一起完善虛擬機的功能,促進區塊鏈生態的繁榮發展。

支持WASM虛擬機 多項技術優化,迅雷鏈簡化區塊鏈應用構建

隨著區塊鏈應用對虛擬機以及智能合約的需求增多,區塊鏈虛擬機技術也在逐漸完善。目前,基於WASM的虛擬機在速度和性能方面都有了顯著提升,且支持C、C++等多種編程語言,開發門檻更低。為了讓區塊鏈應用開發更便捷,迅雷鏈推出了雙虛擬機引擎,同時支持WASM虛擬機和EVM虛擬機。原本在以太坊等支持EVM的主鏈上運行的區塊鏈應用,如果由於性能等原因需要使用迅雷鏈,可以輕鬆實現無縫遷移。


"

8月13日,迅雷鏈正式向廣大開發者公佈WASM虛擬機模塊的源代碼和代碼庫,從而幫助迅雷鏈開放平臺上的開發者們瞭解虛擬機的內部實現機制、工作原理和使用方法,便於開發者進行更多場景的區塊鏈應用開發。同時,開發者也可以和迅雷鏈技術團隊一起完善虛擬機的功能,促進區塊鏈生態的繁榮發展。

支持WASM虛擬機 多項技術優化,迅雷鏈簡化區塊鏈應用構建

隨著區塊鏈應用對虛擬機以及智能合約的需求增多,區塊鏈虛擬機技術也在逐漸完善。目前,基於WASM的虛擬機在速度和性能方面都有了顯著提升,且支持C、C++等多種編程語言,開發門檻更低。為了讓區塊鏈應用開發更便捷,迅雷鏈推出了雙虛擬機引擎,同時支持WASM虛擬機和EVM虛擬機。原本在以太坊等支持EVM的主鏈上運行的區塊鏈應用,如果由於性能等原因需要使用迅雷鏈,可以輕鬆實現無縫遷移。


迅雷鏈WASM模塊正式開源 DApp開發效率提升50%

迅雷鏈雙虛擬機的工作原理


如上圖所示,使用Solidity/C/C++等語言編寫的智能合約,經過編譯器編譯成字節碼,會包含對應的特徵,迅雷鏈雙虛擬機引擎通過特徵識別,判斷具體需要執行哪種虛擬機。

其中,WASM字節碼具有跨平臺的能力,同時支持多種編程語言。通過clang 前端編譯器,將C/C++代碼變成 LLVM 中間代碼IR。再經過LLVM後端編譯器,將IR指令轉換為WASM字節碼。這樣就可以輕鬆的支持更多語言的合約代碼,在不同平臺上面運行。

"

8月13日,迅雷鏈正式向廣大開發者公佈WASM虛擬機模塊的源代碼和代碼庫,從而幫助迅雷鏈開放平臺上的開發者們瞭解虛擬機的內部實現機制、工作原理和使用方法,便於開發者進行更多場景的區塊鏈應用開發。同時,開發者也可以和迅雷鏈技術團隊一起完善虛擬機的功能,促進區塊鏈生態的繁榮發展。

支持WASM虛擬機 多項技術優化,迅雷鏈簡化區塊鏈應用構建

隨著區塊鏈應用對虛擬機以及智能合約的需求增多,區塊鏈虛擬機技術也在逐漸完善。目前,基於WASM的虛擬機在速度和性能方面都有了顯著提升,且支持C、C++等多種編程語言,開發門檻更低。為了讓區塊鏈應用開發更便捷,迅雷鏈推出了雙虛擬機引擎,同時支持WASM虛擬機和EVM虛擬機。原本在以太坊等支持EVM的主鏈上運行的區塊鏈應用,如果由於性能等原因需要使用迅雷鏈,可以輕鬆實現無縫遷移。


迅雷鏈WASM模塊正式開源 DApp開發效率提升50%

迅雷鏈雙虛擬機的工作原理


如上圖所示,使用Solidity/C/C++等語言編寫的智能合約,經過編譯器編譯成字節碼,會包含對應的特徵,迅雷鏈雙虛擬機引擎通過特徵識別,判斷具體需要執行哪種虛擬機。

其中,WASM字節碼具有跨平臺的能力,同時支持多種編程語言。通過clang 前端編譯器,將C/C++代碼變成 LLVM 中間代碼IR。再經過LLVM後端編譯器,將IR指令轉換為WASM字節碼。這樣就可以輕鬆的支持更多語言的合約代碼,在不同平臺上面運行。

迅雷鏈WASM模塊正式開源 DApp開發效率提升50%

如圖所示:WASM的運行原理


不僅如此,迅雷鏈針對WASM虛擬機還做了諸多改進,使得智能合約模塊具備更高的兼容性與性能,同時擁有更強的安全性與靈活性。

第一,支持合約原地升級,解決了開發者在以太坊上升級合約代碼時合約地址會改變的困擾,避免了繁瑣的開發工作量。此外,為兼顧合約升級的靈活性與安全性,迅雷鏈引入多重簽名信任機制。開發者必須設置受信任的多重簽名賬戶,只有收集到超過2/3的受信任賬戶的簽名,才能執行合約升級。

第二,合約調用更便捷。不同於EOS在合約調時無法直接獲得被調用合約的執行狀態,迅雷鏈的WASM虛擬機增加了合約嵌套調用功能,可以立即獲取到調用另外一個合約方法的結果,使得合約之間的調用像函數調用一樣方便。

第三,合約執行更安全。與EOS租用資源的方式不同,迅雷鏈為WASM虛擬機增加了Gas機制。每執行一條合約指令,都會扣除相應的Gas,確保合約指令在執行有限次運算後,一定可以終止執行,有效防止代碼無限循環攻擊。

第四,迅雷鏈對WASM虛擬機內部進行諸多技術優化,包括支持自動擴展線性內存,緩存wasm module,優化合約的加載性能,優化合約對宿主環境golang函數的調用等,從而極大提升了虛擬機運行性能。

第五,迅雷鏈在WASM虛擬機上層進行了豐富的庫封裝,比如TC_CallContract、TC_Require、TC_Transfer、TC_LogX、TC_Notify等EVM虛擬機中常用的API,同時擴展了TC_StorageX(基礎存儲API)、TC_BigIntX(大數運算API)、TC_JsonX(JSON支持API)等豐富的基礎API,讓虛擬機的功能更強大、開發體驗更便捷。另外,為方便開發者快速構建自己的TOKEN合約,迅雷鏈不僅提供常用的標準TOKEN合約基礎類庫,還支持C/C++等編寫智能合約所需語言的類庫。開發者也可以使用第三方維護的開源庫,彌補了EVM缺少公共庫的不足。

多種工具性解決方案 迅雷鏈全面賦能開發者

將WASM虛擬機這一核心模塊開源,凸顯了迅雷鏈賦能開發者、促進區塊鏈應用落地的決心。事實上,迅雷鏈一直致力於推動區塊鏈技術發展和行業進步,在發佈開放平臺將百萬TPS等領先技術性能賦能於廣大開發者之後,還持續推出了多種工具性的解決方案,包括可以在瀏覽器直接運行的合約開發調試工具與合約SDK自動生成工具等等,從而降低開發門檻和難度,讓開發者將主要精力集中在業務拓展和創新上。

例如,迅雷鏈提供的合約開發調試工具catalyst集成了EVM與WASM雙虛擬機合約的開發、編譯、部署、合約接口測試等功能,方便開發者開發與測試合約。Catalyst可以直接運行在瀏覽器中,用戶開發測試合約過程中不必自己搭建區塊鏈節點,也不需要安裝複雜的合約代碼編譯環境。

此外,合約SDK自動生成工具能自動生成後端系統調用合約接口的代碼,同時可屏蔽調用合約時的參數編解碼細節等,幫助開發者快速集成合約業務到系統中,從而可以有更多精力投入到智能合約業務邏輯的開發。目前,該工具還支持自動生成Python庫和go語言庫,極大地提升了開發者的效率。

目前,迅雷區塊鏈技術已經和中國版權保護中心、來電科技、南方新媒體、壹基金等多個政企機構合作,落地版權保護、商品溯源、公益、醫療、保險、交通、基因、供應鏈、新零售等十餘個行業領域。隨著此次WASM虛擬機模塊的開源,相信區塊鏈技術將在更豐富的應用場景中,真正發揮其應有的價值。

"

相關推薦

推薦中...