木星链 木星链
Ctrl+D收藏木星链
首页 > 屎币 > 正文

INT:INT主网4.0智能合约——WASM 篇

作者:

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

Stride将采用Cosmos Hub的Interchain Security机制:金色财经报道,Cosmos生态流动性权益提供商Stride宣布即将采用Interchain Security机制。此次整合是Cosmos Hub第799号提案的一部分,该提案以97%的赞成票获得了Cosmos Hub治理社区的批准。Stride将成为Cosmos生态系统中继Neutron之后第二个采用Interchain Security的区块链。Stride的区块生产现在将由Cosmos Hub的验证器集管理。[2023/7/19 11:05:00]

对于INT的开发人员而言,WASM有着诸多对开发者友好的特点:

加密税软件公司CoinTracker已解雇19名员工:1月28日消息,据内部邮件显示,由于市场状况和过度招聘,加密税软件公司CoinTracker已解雇19名员工,约占员工总数的五分之一。公司发言人在一封电子邮件中证实了裁员的消息,并表示被解雇的19人中有15人来自客户支持团队。该公司表示:“在考虑解雇团队成员之前,我们已经系统地优化了所有其他成本。”

据LinkedIn和DealRoom数据显示,裁员前,CoinTracker大约有100名员工。[2023/1/28 11:33:31]

首先,WASM采用二进制编码,在程序执行过程中的性能表现优越;

其次,就存储成本而言,相对于文本格式,二进制编码的文本占用的存储空间更小,可以有效地降低存储成本;

加密货币做市商Wintermute:无Genesis风险敞口:11月17日消息,加密货币做市商 Wintermute 在其社交平台表示,Wintermute 在 Genesis 没有任何未偿还的贷款或抵押品,目前未与 Genesis 进行场外交易,因此无 Genesis 风险敞口。[2022/11/17 13:16:37]

最后,WASM支持的多语言使我们可以使用C/C++/RUST/Go等多种语言编写智能合约并编译成WASM格式的字节码,也就是说INT可以兼容所有用c,c++等高级语言编写的程序,INT的应用层生态将会更加丰富,想要参与INT生态建设也会变成一件更加容易的事情,开发人员的学习成本会变得非常低。

Quantum Fintech Group创始人:美元走软助长比特币价格飙升:金色财经报道,Quantum Fintech Group创始人兼管理合伙人Harry Yeh在接受彭博市场和财经的采访时表示,比特币的价值飙升主要是由于美元贬值。当前的美联储政策(特别是持续印钞)正在为比特币上涨提供动力。他认为,向经济中释放资金使比特币作为替代品处于领先地位。[2021/12/28 8:08:03]

另外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的技术性文章。

标签:INTASMWASWEBintelligencefogcomputerchainjasmy币背后投资机构swash币行情web3游戏赚钱

屎币热门资讯
TOK:TOKOK关于FIL6释放安排的公告

尊敬的用户:根据IPFSFilecoin官方消息,Filecoin主网将在区块链计时Epoch148888启动,大约对应现实时间为2020年10月15日.

1900/1/1 0:00:00
KEX:关于OKEx晨星计划第5期活动开启的公告

尊敬的OKEx用户:为了更好地推进区块链社区的进步与发展,OKEx于2020年5月正式推出“晨星计划”,公开招募优秀的社群主、KOL和区块链爱好者加入,共享平台发展红利.

1900/1/1 0:00:00
CYTR:【活动】交易送!25枚CYTR大派送

尊敬的Hotbit用户:感恩回馈,Hotbit将于2020年10月13日16:00开启CYTR交易送好礼活动,活动期间Hotbit平台的CYTR交易用户可参与瓜分奖励.

1900/1/1 0:00:00
COIN:【Filecoin】万事俱备,主网在即,火币 OK 全面支持FIL币冲提

ecoin官方宣布主网将在区块高度达到148888时正式启动,截止10月13日08:33,Filecoin区块高度已达141426,根据Filecoin平均每30秒增加一个区块来计算.

1900/1/1 0:00:00
MEME:关于热门NFT项目充值上线结果公布的公告

尊敬的OKEx用户:OKEx热门NFT项目充值上线活动已结束,感谢广大社区用户参与。现公布充值上线结果如下:经社区充值投票,前2名项目GHST、MEME符合本次上线条件,具体时间安排如下:1.G.

1900/1/1 0:00:00
GAS:IPFS/Filecoin网络基准提升至2.5EiB难度翻倍 进一步推动币价提升

北京时间10月12日,Filecoin测试网络完成硬分叉升级,网络基准由原来的初始值1EiB调整为2.5EiB.

1900/1/1 0:00:00