以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > MATIC > Info

INT主網4.0智能合約——WASM 篇_WAS:INT

Author:

Time:1900/1/1 0:00:00

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的原因?

Intain宣布完成新一輪融資,Blizzard Fund領投:金色財經報道,區塊鏈融資平臺Intain宣布完成一輪融資,主要投資者有Blizzard Fund,以及JAM FINTOP Blockchain。Intain計劃在7月份推出Intain MARKETS,并將利用本輪融資資金為用于驗證資產的人工智能軟件獲取知識產權,同時在印度增加技術團隊,并在美國增加產品和銷售團隊。

此外,Blizzard Fund和JAM FINTOP Blockchain支持Intain在傳統金融系統中部署區塊鏈。[2022/7/6 1:55:56]

對于INT的開發人員而言,WASM有著諸多對開發者友好的特點:

加密做市商Wintermute將推出針對機構投資者的零費用OTC平臺:4月6日消息,加密做市商Wintermute正在推出針對機構投資者的零費用場外交易 (OTC) 平臺 Wintermute Node。旨在成為提供數字資產價格發現、交易和風險監控的一站式商店。機構投資者越來越重視執行質量和最小化費用,這表明加密市場的成熟緩慢但確定。(Coindesk)[2022/4/6 14:08:17]

首先,WASM采用二進制編碼,在程序執行過程中的性能表現優越;

其次,就存儲成本而言,相對于文本格式,二進制編碼的文本占用的存儲空間更小,可以有效地降低存儲成本;

NFT交易卡游戲Splinterlands日活達到10萬:NFT交易卡游戲Splinterlands日活達到10萬,一個月前僅為1.4萬。此外,Splinterland平均每天有400萬筆交易。(Crypto News Flash)[2021/8/26 22:38:17]

最后,WASM支持的多語言使我們可以使用C/C++/RUST/Go等多種語言編寫智能合約并編譯成WASM格式的字節碼,也就是說INT可以兼容所有用c,c++等高級語言編寫的程序,INT的應用層生態將會更加豐富,想要參與INT生態建設也會變成一件更加容易的事情,開發人員的學習成本會變得非常低。

另外WASM字節碼既可以編譯成機器碼后執行,又可以使用解釋器直接執行,兼容性和性能兩者兼有,選擇了WASM,可以依托WebAssembly生態,為INT獲得更多的發展可能性。

韓國CoinTrade交易所將對上線前注冊的用戶進行贈幣活動:根據韓國CoinTrade交易所的相關人員稱,CoinTrade交易所正在準備向上線前加入的會員者贈送Cocoin等各種各樣的上線活動。[2018/2/28]

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的技術性文章。

Tags:INTASMWASWEBPRINTS價格ASM價格SWASHweb3游戲行業

MATIC
CITEX開放DMCH/BTC交易對的公告_TPS:DMCH

尊敬的CITEX用戶:CITEX將于2020年14日16點開放DMCH/BTC交易對。Darmacash是一個高速區塊鏈,它在XMR的基礎上集成了最新的隱私技術,以實現真正的私有地址,隱藏的財務.

1900/1/1 0:00:00
基于以太坊 2.0 的質押解決方案 Blox Staking 推出 Blox 公測版,將首先在 Medalla 測試網上運行_Blox:blockchain錢包登錄不上

鏈聞消息,基于以太坊2.0的質押解決方案BloxStaking宣布推出BloxBeta公開測試版本。Blox是一個桌面質押應用,將首先在以太坊Medalla測試網上運行.

1900/1/1 0:00:00
人工智能發現每只獅子都有獨特且可追蹤的吼叫_LDC:dcr幣是什么幣

牛津大學的科學家已經使用機器學習算法來發現每只獅子都有自己可識別和可追蹤的吼叫聲。先前的研究表明,獅子會咆哮與其他自尊心成員交流并嚇跑敵人。但是我們對他們如何識別哪種動物發出了召喚仍然知之甚少.

1900/1/1 0:00:00
谷燕西:DeFi治理代幣的本質是證券_比特幣:SEC

我在不久前發表的一篇觀點中認為,Uniswap發行的代幣UNI很有可能被SEC認定是證券,因此Uniswap團隊很有可能被SEC起訴(見我的文章“SEC很有可能起訴Uniswap”).

1900/1/1 0:00:00
為什么BCH隱私性遠高于BTC?_BTC:比特幣全球市值多少

你想讓每個交易的人都知道你的錢包或所有地址有多少錢?對于絕大部分人來說,答案肯定是否定的,這就是為什么我們需要混幣服務來隱藏資金來源和流向的原因.

1900/1/1 0:00:00
幣圈總監:比特幣回調后窄幅震蕩 后市操作建議及行情分析_區塊鏈:BIT

根據BitcoinTreasuries.org最新數據顯示,截至目前共有15家上市公司或公開交易產品持有比特幣,相比于此前提到的11家公司或交易產品增加了4家.

1900/1/1 0:00:00
ads