以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

INT主網4.0智能合約——WASM 篇_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的原因?

NFT項目“哥布林”Goblintown第二季啟動:5月3日消息,NFT項目“哥布林”Goblintown母公司Truth Labs已宣布啟動Season 2,新一季故事將圍繞Gobintown內部的一家大公司“Big Inc”展開,同時還將鑄造15,000枚同名代幣,但目前尚未公布具體鑄造日期。值得一提的是,Goblintown第二季將允許交易者使用PEPE代幣支付鑄造費用時獲得50%折扣,從而賦予PEPE代幣更多實用性。另據OpenSea數據顯示,當前Goblintown NFT地板價約為0.33 ETH,截至目前的交易總額已超過1.16 億美元。[2023/5/3 14:39:51]

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

開放金融公鏈Halo Network同元宇宙土地協議MetaPoint達成戰略合作關系:據官方消息,開放金融公鏈Halo Network近期與元宇宙土地協議MetaPoint正式達成戰略合作伙伴關系,雙方將就MetaPoint的底層經濟活動運作基礎建設、元宇宙商業場景體驗優化以及資產安全性保障等方向進行一系列深度合作,通過這次合作,MetaPoint將為用戶提供快速、價格低廉、場景多樣化的元宇宙體驗。

據悉,MetaPoint是一個基于去中心化土地建立的元宇宙協議,在一個沙盒世界中,模擬人類現代文明起源與發展,圍繞去中心化土地發展更加豐富多樣化的場景。此前,MetaPoint已獲得Aquaria、Blocklofty、Synix Capital、Tricer等機構的基礎投資,為MetaPoint生態發展提供全方位支持。[2022/9/21 7:10:28]

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

TradeStation向美SEC提交與Quantum FinTech合并上市的申請文件:12月27日消息,TradeStation Group,Inc.與特殊目的收購公司Quantum FinTech Acquisition Corporation宣布,針對TradeStation擬與Quantum FinTech合并成為上市公司,TradeStation已向美國證券交易委員會(SEC)提交一份S-4表格的注冊聲明。(Businesswire)[2021/12/27 8:07:10]

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

Intowinsoft推出新型P2P虛擬貨幣交易所解決方案Pro:韓國P2P金融平臺解決方案的專業公司的Intowinsoft推出“虛擬貨幣交易所平臺”專業版。此交易所是把中心化交易所方式和P2P方式的混合形態。[2018/5/30]

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

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

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:INTASMWASWEBWinter Dogjasmy幣值得投資嗎WAS價格bitweb

比特幣交易所
陸百川10.14BTC多頭漸漸無力拉動局面,頂背離動能尚未釋放完整。_ETHE

陸百川10.14BTC多頭漸漸無力拉動局面,頂背離動能尚未釋放完整。水滿則溢,月滿則虧,自滿則敗,自矜則愚,回避現實的人,未來將更加不理想,市場多變,逆主流而行已經成為常態,多空的快速轉換,唯有.

1900/1/1 0:00:00
大神告訴你75天收益100倍 是怎么做到的?_數字資產

文章系實盤大V比特賭狗陳大頭供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
Gate.io 關于上線SuperTx(SUP)提現服務的公告_GAT

Gate.io此前已經上線SUP充值和交易功能。目前已經完成技術對接,上線SUP提現服務。SuperTx是比原鏈鏈測鏈上的去中心化兌換平臺,SUP代幣通過抵押流動性挖礦產生.

1900/1/1 0:00:00
支持TNC Coin(TNC)更換合約映射的公告_NEX

親愛的用戶: 因TNCCoin(TNC)需要由ERC20切換至主鏈,DigiFinex將自即日起臨時關閉TNC的充提幣服務,此次映射比例為(新:舊)1:1。具體恢復時間請留意之后的公告.

1900/1/1 0:00:00
去中心化預言機 Band Protocol 將于 10 月 14 日 22 點從文昌網絡升級到關羽網絡_BAN

鏈聞消息,去中心化預言機BandProtocol宣布已通過將文昌網絡升級到關羽網絡的BCIP-1提案。升級將會在區塊高度4172935處進行,時間預計將會10月14日22點進行.

1900/1/1 0:00:00
關于LBank重啟PAI充提的公告_ETHE

尊敬的LBank用戶: 據官方消息,PAI已完成硬分叉,LBank將在10月13日16:00重新開啟PAI的充值與提現業務。 感謝您的支持.

1900/1/1 0:00:00
ads