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鑄造2000萬枚TUSD,并轉至幣安:金色財經報道,Lookonchain監測顯示,做市商Wintermute Trading在比特幣和以太坊價格上漲之前鑄造了2000萬枚TUSD,并轉移到幣安。[2023/4/11 13:56:15]
對于INT的開發人員而言,WASM有著諸多對開發者友好的特點:
首先,WASM采用二進制編碼,在程序執行過程中的性能表現優越;
其次,就存儲成本而言,相對于文本格式,二進制編碼的文本占用的存儲空間更小,可以有效地降低存儲成本;
最后,WASM支持的多語言使我們可以使用C/C++/RUST/Go等多種語言編寫智能合約并編譯成WASM格式的字節碼,也就是說INT可以兼容所有用c,c++等高級語言編寫的程序,INT的應用層生態將會更加豐富,想要參與INT生態建設也會變成一件更加容易的事情,開發人員的學習成本會變得非常低。
投資管理公司Ninepoint提議改變其比特幣ETF的投資策略:金色財經報道,隨著比特幣價格在過去12個月內下跌約47%,Ninepoint提議改變其比特幣ETF的投資策略,從僅購買比特幣轉向其他Web3和區塊鏈相關股票。
據其網站稱,該基金名為Ninepoint比特幣ETF ( BITC.CA ),在多倫多證券交易所 (TSX) 交易,管理著約2100萬美元的資產。它以前旨在為投資者提供比特幣敞口,而無需通過加密貨幣交易所購買數字資產。Ninepoint的變更取決于基金單位持有人的投票,以及TSX和其他監管機構的批準。聲明稱,如果獲得批準,新的投資策略將于5月生效,并將更名為Ninepoint Web3 Innovators Fund,股票代碼為TKN。[2023/3/3 12:39:31]
另外WASM字節碼既可以編譯成機器碼后執行,又可以使用解釋器直接執行,兼容性和性能兩者兼有,選擇了WASM,可以依托WebAssembly生態,為INT獲得更多的發展可能性。
Ethermint網絡將上線公共測試網:金色財經報道, 據官方推特消息,Ethermint網絡宣布即將上線公共測試網,然后將啟動一個激勵測試網。團隊正在尋找早期的支持者在測試網上運行驗證器,并為第四季度上線主網做準備。[2021/8/11 1:47:14]
INT基于WASM做出哪些創新?
1)Gas手續費的收取:
INT從Ethereum吸取經驗教訓,并根據需要對WASM執行的每條指令收費。當合同執行的GAS費達到調用者給出的限額時,WASM虛擬機自動終止合同的繼續執行。
2)系統調用接口:
WASM模塊支持引入其他的WASM模塊以調用其中的函數,INT提供幾類的系統調用接口:
動態 | 日本互聯網巨頭GMO Internet披露其在北歐設立的礦場的細節:據crypto.watch9月10日報道,在日本東京召開的BIT VALLEY 2018會議上,GMO Internet秋山拓也披露了該公司在北歐設立的礦場的細節,該礦場租借了兩座倉庫,共設置1.5萬臺礦機,這些礦機的耗電量相當于3.35萬戶的一般家庭的用電量。此外,秋山拓也表示該礦場設于北歐的原因在于其天然的低溫條件以及豐富可再生資源帶來的低價電力。秋山拓也也公開了其17年12月份以后的挖礦業績,現在哈希值已達到384PH/s,2018年7月份獲得568枚比特幣。但秋山拓也在演講中沒有公開該公司挖礦成本和電費,所以電費等方面的利益問題上不清楚。據悉,該礦場的建設于2017年12月完工。[2018/9/13]
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的技術性文章。
尊敬的用戶: Fil/USDT即將在10月15日上線,等值1500枚Fil的USDT空投福利等您來搶!活動期間任意真實交易且收益率大于0%,即可享有空投資格.
1900/1/1 0:00:00一位俄羅斯媒體大亨和前銀行行長準備在瑞士啟動一個雄心勃勃的,以DeFi為主題的新加密貨幣項目,對傳統的銀行系統和允許其成為數十家空殼公司所在地的國家countries之以鼻-指責他們攪動“臟錢”.
1900/1/1 0:00:00多言不可與謀,多動不可與久處,交易與其沖動,還不如一動不動!大家好,我是席幕楓。心存陽光必有詩與遠方,認識老席何懼再遇荒涼?席幕楓:10.14晚間ETH行情分析以太坊,白盤弱勢走跌,老席早間前文.
1900/1/1 0:00:00近年來,隨著區塊鏈技術的越加成熟,區塊鏈所帶來的風險也愈加受到重視,目前區塊鏈技術已在金融等領域率先應用起來,但其洗錢風險也因區塊鏈逐步放大.
1900/1/1 0:00:00親愛的庫幣用戶: 我們很高興的宣布,庫幣將上線Hyprr(UDOO)項目并支持交易對UDOO/ETH.
1900/1/1 0:00:00從18年開始Filecoin正式的主網上線就開始了上線倒計時,一直倒數到了現在,由于付諸了大量的資金、設備、人力和期待,今年外界對于鴿王的忍耐似乎已經到了一個臨界點.
1900/1/1 0:00:00