INT主網4.0兼容EVM和WASM這兩種虛擬機,本篇文章為大家介紹在INT主網4.0中開發中的WASM相關問題。
什么是WASM?
WASM,全稱為WebAssembly,是一種新的編碼方式,可以在現代瀏覽器中運行。作為一種低級的類匯編語言,WASM具有緊湊的二進制格式,可以接近原生的性能運行,并為諸如C/C++等語言提供一個編譯目標,以便它們可以在Web上運行。同時,WASM也是W3CWebAssemblyCommunityGroup開發的web瀏覽器的標準,獲得了各大主要瀏覽器廠商的積極支持。
對于網絡平臺而言,WASM提供了一條途徑,使得以各種語言編寫的代碼都可以以接近原生的速度在Web中運行。谷歌、蘋果、微軟三大競爭公司同時支持WASM作為中間代碼,所有其他語言(c,c++,java)編寫的程序都可以編程成WASM字節碼的程序,在這種情況下,以前無法以此方式運行的客戶端軟件都可以在Web中運行了。INT選擇兼容WASM的原因?
游戲巨頭Take-Two Interactive將以127億美元收購Zynga,共同探索Web3機遇:金色財經報道,美國游戲開發商和發行商Take-Two Interactive周一宣布以“現金+股票”的形式收購社交游戲開發商Zynga,整體交易的估值達到127億美元。現金和股票交易預計將于6月30日完成,等待兩家公司各自股東以及監管機構的批準。
在周一的電話會議上,Take-Two Interactive首席執行官Strauss Zelnick表示,收購Zynga將使合并后的公司能夠應對新的“Web3機遇”。他補充說,“這種組合將使我們能夠比任何一家公司單獨解決問題更有效。”
據悉,Take-Two Interactive是游戲品牌Rockstar Games和2K Games的母公司,并擁有俠盜獵車手、荒野大鏢客、NBA 2K和無主之地等流行游戲的特許經營權,Zynga因FarmVille和Words With Friends等休閑游戲而出名。(Decrypt)[2022/1/11 8:40:28]
對于INT的開發人員而言,WASM有著諸多對開發者友好的特點:
數字資產平臺Chintai在新加坡開設亞太總部:金色財經報道,Chintai 是一家總部位于新加坡的金融科技公司,利用區塊鏈技術為銀行、金融機構和資產管理公司實現資本市場現代化,宣布在新加坡開設亞太總部,并邀請銀行和資產管理公司等金融機構參與加入其 Beta 機構數字資產平臺計劃。
作為數字資產合規發行的區塊鏈技術提供商,Chintai為機構和中小企業在資本市場上創建、發行和代幣化傳統資產提供了一個平臺。該平臺為機構提供了一種簡單的方法來設置自己的發行,采用可互操作的數字資產合規協議,與市場上的當前做法相比,可提高效率并節省成本。機構 Beta 計劃包括各種資產類別和復雜的工具,以推動采用。(finextra)[2021/11/9 6:41:51]
首先,WASM采用二進制編碼,在程序執行過程中的性能表現優越;
人民數字FINTECH推出區塊鏈科普動畫:人民日報數字傳播發布微博稱,人民數字FINTECH出品《趣味科普|區塊鏈動畫》。[2020/3/31]
其次,就存儲成本而言,相對于文本格式,二進制編碼的文本占用的存儲空間更小,可以有效地降低存儲成本;
最后,WASM支持的多語言使我們可以使用C/C++/RUST/Go等多種語言編寫智能合約并編譯成WASM格式的字節碼,也就是說INT可以兼容所有用c,c++等高級語言編寫的程序,INT的應用層生態將會更加豐富,想要參與INT生態建設也會變成一件更加容易的事情,開發人員的學習成本會變得非常低。
另外WASM字節碼既可以編譯成機器碼后執行,又可以使用解釋器直接執行,兼容性和性能兩者兼有,選擇了WASM,可以依托WebAssembly生態,為INT獲得更多的發展可能性。
動態 | 日本STOCK POINT推出應用區塊鏈技術的新型積分運用服務:據Crypto.Watch消息,4月9日,日本公司STOCK POINT宣布推出一款結合Hyperledger Fabric區塊鏈技術的新服務“Ponta積分運用”,該服務允許用戶利用Ponta積分對實體企業的股票、ETF等進行模擬投資,并會依照股價的波動實現積分增減。[2019/4/10]
INT基于WASM做出哪些創新?
1)Gas手續費的收取:
INT從Ethereum吸取經驗教訓,并根據需要對WASM執行的每條指令收費。當合同執行的GAS費達到調用者給出的限額時,WASM虛擬機自動終止合同的繼續執行。
2)系統調用接口:
WASM模塊支持引入其他的WASM模塊以調用其中的函數,INT提供幾類的系統調用接口:
Libc標準庫部分接口:主要是與內存操作相關的函數,如malloc和free。因為WASM虛擬機作為WASM合約執行的宿主環境,需要對合約運行的虛擬內存進行分配與管理;
區塊鏈相關接口:為方便WASM合約方便訪問區塊鏈相關信息,INT提供了存儲讀寫、賬戶轉賬、事件觸發、交易信息等接口;
Library:主要是提供了BigInt和json操作函數,方便合約開發者的編寫;
3)內存管理:
WebAssembly提供了內存管理來處理字符串及其他復雜數據類型,內存在WASM的定義下,是一個隨著時間增長的字節數組。
所以,INT的WASM虛擬機在執行合約前,會根據合約導入的內存,為其創建內存實例,并初始化對應的data數據段內容。
具體實現上,INT采用了Buddy伙伴算法來管理WASM合約的運行內存,默認的初始內存大小為64KB,最大可增長到256KB。
4)簡化合約開發:
合約作為區塊鏈體系的商業載體,具有區塊鏈的應用價值。所以在合約開發方面,INT一直在努力降低開發門檻,簡化開發流程,讓更多的項目或企業可以將業務應用遷移到INT系統中來。
當然,WASM作為正在發展中的技術,除了有諸多的好處之外,也給開發工作帶來了一定的難度。
在內部的合約開發測試過程中,我們發現在引入了WASM虛擬機后發生了內存泄漏。由于INT的底層架構是使用go語言來實現的,當合約通過系統調用接口訪問底層native方法時,底層方法返回的數據保存在WASM的線性內存中,由于這個內存并不是開發者通過malloc分配的,所以會經常忘記調用free來釋放,造成內存泄漏。加上底層限制了一個合約可以使用的內存上限是256KB,所以會造成功能復雜的合約,最后由于超出內存上限而執行失敗。INT的開發人員在SDK中采用RAII和SharedPtr方式,不再暴露原始的內存地址,而是返回棧上的臨時對象,最終解決了內存泄漏的問題。
本期很高興為大家介紹了INT主網4.0的智能合約運用到的WASM虛擬機的相關問題,INT的開發人員正在進行積極的主網4.0開發工作,期待后面可以為大家帶來更多4.0的技術性文章。
Gate.io已經完成將平臺用戶持倉YFV按照1:1置換為VALUE代幣,用戶可在賬戶賬單明細中查看詳情。Gate.io將于2020年10月14日23:00上線VALUE交易.
1900/1/1 0:00:00尊敬的用戶: 您好,HKEx.one于2020.9.19號上線Uniswap并開通了UNI/USDT交易對.
1900/1/1 0:00:00世界上最可貴的兩個詞,一個叫“認真”,一個叫“堅持”,認真的人改變了自己,堅持的人改變了命運。——有些事情,不是看到了希望才去堅持,而是堅持了才有希望! 實時快訊 美國三大股指均結束了此前連續4.
1900/1/1 0:00:00近期以太坊漲勢喜人,吸引了很多人的關注,由于以太坊挖礦的利潤較高,因此很多比特幣礦工都開啟了以太坊的挖礦之路,市面上的顯卡現在又顯得比較緊俏了.
1900/1/1 0:00:00針對當前我國區塊鏈技術應用現狀,國家技術轉移東部中心上海數字經濟創造實踐基地董事、投資部總經理鄭玉山表示,實體經濟轉型升級離不開科技創新.
1900/1/1 0:00:00Optimism團隊不久前發布了其測試網的第一階段,及其通向主網的路線圖。除此之外,Fuel也在推進測試網進程,Arbitrum也已經登陸測試網.
1900/1/1 0:00:00