当前位置:首页 > 知识 >

国外交易平台b网客服的INT主网4.0智能合约——WASM篇

INT主网4.0兼容EVM和WASM这两种虚拟机。本篇文章介绍了在INT主网4.0中使用WASM进行开发的相关问题。

什么是WASM?

WASM,全称为WebAssembly,是一种新的编码方式,可在现代浏览器中运行。WASM具有紧凑的二进制格式,可接近原生的性能运行,并为诸如C/C++等语言提供一个编译目标,以在Web上运行。WASM是由W3CWebAssemblyCommunityGroup开发的web浏览器的标准,并得到了各大主要浏览器厂商的积极支持。

INT选择兼容WASM的原因?

对于INT的开发人员而言,WASM具有以下几个对开发者友好的特点:

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

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

最后,WASM支持的多语言使我们可以使用C/C++/RUST/Go等多种语言编写智能合约并编译成WASM格式的字节码。这意味着INT可以兼容所有用C、C++等高级语言编写的程序。这将丰富INT的应用层生态,降低参与INT生态建设的门槛,并降低开发人员的学习成本。

另外,WASM字节码既可以编译成机器码后执行,又可以使用解释器直接执行。选择WASM能为INT获得更多发展可能性。

INT基于WASM做出哪些创新?

1)Gas手续费的收取: INT根据从Ethereum吸取的经验教训,对WASM执行的每条指令进行收费。当合同执行的GAS费用达到调用者给出的限额时,WASM虚拟机自动终止合同的执行。

2)系统调用接口: WASM模块支持引入其他的WASM模块以调用其中的函数。INT提供了几类系统调用接口,包括Libc标准库部分接口、区块链相关接口和Library。

3)内存管理: WebAssembly提供了内存管理来处理字符串及其他复杂数据类型。INT的WASM虚拟机在执行合约前,会根据合约导入的内存,为其创建内存实例,并初始化对应的data数据段内容。INT采用了Buddy伙伴算法来管理WASM合约的运行内存。

4)简化合约开发: INT一直在努力降低合约开发的门槛,简化开发流程,让更多的项目或企业可以将业务应用迁移到INT系统中来。但WASM作为发展中的技术,也给开发工作带来了一定的难度。在内部的合约开发测试过程中,INT开发人员发现引入WASM虚拟机后出现了内存泄漏问题。为解决这个问题,INT的开发人员在SDK中采用了RAII和SharedPtr方式,并解决了内存泄漏的问题。

以上是关于INT主网4.0中使用WASM进行开发的相关问题的介绍。INT的开发人员正在积极进行主网4.0的开发工作,并期待为大家带来更多的4.0技术性文章。

猜你喜欢

微信二维码

微信