加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

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

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

Wintermute Trading在過去2天內已向Binance存入200萬枚ARB:金色財經報道,據Lookonchain監測,Wintermute Trading在過去2天內已向Binance存入200萬枚ARB(約227萬美元)。兩次存入后,ARB的價格均下跌。[2023/6/28 22:05:36]

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

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

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

Huobi和MyCointainer成為公鏈ThunderCore節點驗證者:金色財經報道,Huobi 和 MyCointainer 已成為公鏈 ThunderCore 節點驗證者,這意味著這兩個平臺用戶現在已經可以質押 ThunderCore 原生資產 TT 來獲得獎勵。據悉,Huobi 將負責實施和維護 ThunderCore 節點以進一步保護 ThunderCore 生態系統,在操作節點之上,MyCointainer 將允許在平臺上進行 BTC/TT、USDT/TT 等交易對存款和取款。(雅虎財經)[2023/1/6 10:24:16]

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

Valor與瑞典指數提供商Vinter合作推出其首個多資產加密ETP:金色財經報道,金融科技公司Valor宣布已與瑞典指數提供商Vinter合作推出Valour的第一個多資產加密ETP,即Valor數字資產籃子10指數(VDAB10)。德國的投資者將能夠在Boerse Frankfurt Zertifikate AG以1.9%的低管理費購買Valor Digital Asset Basket 10 ETP。[2022/10/13 10:32:59]

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

Filecoin基金會向數字圖書館Internet Archive捐贈5萬枚FIL:Filecoin 基金會向互聯網檔案館(Internet Archive)捐贈了價值 1000 萬美元的 FIL 代幣,這是目前為止互聯網檔案館獲得的最大一筆外部捐贈。Internet Archive 一直在使用 Filecoin 背后的存儲網絡來執行 Filecoin Archives 計劃,該計劃通過去中心化的節點來保存互聯網的歷史記錄。

互聯網檔案館是美國的一個由 Alexa 創始人布魯斯特·卡利創辦于 1996 年的非牟利性的、提供互聯網多媒體資料檔案閱覽服務的數碼圖書館,總部位于加利福尼亞州三藩市的列治文區,其使命是普及所有知識。(The Block)[2021/4/2 19:39:02]

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:INTASMWASWEBPoint NetworkLASM幣WASSIEweb3.0幣龍頭

幣安下載
Gate.io “天天理財”第三期USDT持倉理財上線9分鐘售罄,第四期GT鎖倉挖礦賺USDG明日開啟_GAT:gate幣幣手續費

Gate.io全新理財福利產品——“天天理財”已于10月12日正式上線,每天中午12點至少一場理財福利,賺主流幣理財收益,天天理財天天樂!》已于今日中午12:00開啟.

1900/1/1 0:00:00
遭超級節點公然聲討,貝爾鏈將何去何從?_貝爾鏈:BAE

最近,石沉大海的貝爾鏈,卻因為一支來自北美的區塊鏈技術團隊,再度回到了大家的視野。美國時間10月10日,DailyHerald等多家外媒紛紛轉載,一個名為“MaxSwap”的推特用戶,公開發布了.

1900/1/1 0:00:00
幣圈交易員:10.13 比特幣沖高被打壓,本周能沖擊12000嗎?_比特幣:POW

好消息!深圳的5萬個數字人民幣紅包全部抽出了,這里面有沒有你呢? 別問我,問就是沒有~ 昨天,灰度以太坊信托已經正式獲得SEC批準通過,成為繼比特幣后旗下第二個獲得許可的數字貨幣投資工具.

1900/1/1 0:00:00
幣贏超級晚 沉浸式叢林電音趴即將開啟_區塊鏈:區塊鏈幣圈是什么意思

2020年10月,上海區塊鏈國際周即將拉開帷幕。作為老牌交易所,行業影響力的領導者、傳播者,幣贏將在中國魔都-上海,舉辦主題為“幣贏超級晚”的沉浸式叢林電音趴.

1900/1/1 0:00:00
Gate.io 理財寶今日高收益精選,JGN持倉計劃1號年化幣收益118%上線_GAT:htt幣價格

“Gate.io理財寶”上線至今推出許多款熱門幣種高年化率鎖倉/活期理財產品,始終緊跟市場步伐推出當下熱門的理財產品,深受用戶的喜愛與支持.

1900/1/1 0:00:00
LOEx| 10月13日行情研報:BTC反彈企穩后?區間震蕩_EOS:eosdac幣最新消息

一、 據Coindesk報道,ConsenSys研究員、以太坊2.0開發者BenEdgington表示,以太坊單客戶端測試網Sapphire、Topaz和Onyx網絡已經過長時間測試.

1900/1/1 0:00:00
ads