[发明专利]基于EVM与Wasm虚拟机的多语言智能合约兼容方法及系统在审
申请号: | 202011533338.5 | 申请日: | 2020-12-22 |
公开(公告)号: | CN112527466A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 汤勇 | 申请(专利权)人: | 上海万向区块链股份公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
地址: | 200086 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 evm wasm 虚拟机 语言 智能 合约 兼容 方法 系统 | ||
1.一种基于EVM与Wasm虚拟机的多语言智能合约兼容方法,其特征在于,包括:
步骤M1:底层协议通过预设配置开启协议所支持的虚拟机类型,当虚拟机类型为兼容模式时,则在合约层根据预设规范编写多虚拟机语言合约互调用的代码;
步骤M2:在虚拟机支持的相应合约中,对除虚拟机支持的相应合约外的目标合约发起调用;
步骤M3:在底层链中解析调用参数,得到被调用的目标合约地址和目标合约信息;
步骤M4:根据目标合约地址获得目标合约的字节码,根据目标合约字节码判断目标合约的类型;
步骤M5:根据目标合约的类型,底层链切换虚拟机类型,执行相应合约,得到执行完后的返回值;
步骤M6:对执行完后的返回值进行编码转换,得到发起方合约能够识别的编码类型;
所述兼容模式包括同时支持EVM和Wasm虚拟机,并能够实现EVM和Wasm虚拟机所支持的多种不同语言的智能合约互相调用。
2.根据权利要求1所述的基于EVM与Wasm虚拟机的多语言智能合约兼容方法,其特征在于,所述步骤M1中通过预设配置开启协议所支持的虚拟机类型包括EVM、Wasm和/或兼容模式。
3.根据权利要求1所述的基于EVM与Wasm虚拟机的多语言智能合约兼容方法,其特征在于,所述步骤M2包括在虚拟机支持的相应合约中,通过Call方法,对除当前虚拟机支持的相应合约外的目标合约发起调用。
4.根据权利要求1所述的基于EVM与Wasm虚拟机的多语言智能合约兼容方法,其特征在于,所述步骤M3包括:在虚拟机解释器执行智能合约字节码时,当执行到合约互调用的操作码时,将调用参数解析为目标合约所对应的虚拟机解释器能识别的编码方式,得到被调用的目标合约地址和目标合约信息。
5.根据权利要求1所述的基于EVM与Wasm虚拟机的多语言智能合约兼容方法,其特征在于,所述步骤M6包括:在EVM和Wasm虚拟机解释器执行完不同智能合约互调用操作后,针对执行完得到的返回值通过Json的通用编码方式进行编码转换,得到发起方合约能够识别的编码类型。
6.一种基于EVM与Wasm虚拟机的多语言智能合约兼容系统,其特征在于,包括:
模块M1:底层协议通过预设配置开启协议所支持的虚拟机类型,当虚拟机类型为兼容模式时,则在合约层根据预设规范编写多虚拟机语言合约互调用的代码;
模块M2:在虚拟机支持的相应合约中,对除虚拟机支持的相应合约外的目标合约发起调用;
模块M3:在底层链中解析调用参数,得到被调用的目标合约地址和目标合约信息;
模块M4:根据目标合约地址获得目标合约的字节码,根据目标合约字节码判断目标合约的类型;
模块M5:根据目标合约的类型,底层链切换虚拟机类型,执行相应合约,得到执行完后的返回值;
模块M6:对执行完后的返回值进行编码转换,得到发起方合约能够识别的编码类型;
所述兼容模式包括同时支持EVM和Wasm虚拟机,并能够实现EVM和Wasm虚拟机所支持的多种不同语言的智能合约互相调用。
7.根据权利要求6所述的基于EVM与Wasm虚拟机的多语言智能合约兼容系统,其特征在于,所述模块M1中通过预设配置开启协议所支持的虚拟机类型包括EVM、Wasm和/或兼容模式。
8.根据权利要求6所述的基于EVM与Wasm虚拟机的多语言智能合约兼容系统,其特征在于,所述模块M2包括在虚拟机支持的相应合约中,通过Call方法,对除当前虚拟机支持的相应合约外的目标合约发起调用。
9.根据权利要求6所述的基于EVM与Wasm虚拟机的多语言智能合约兼容系统,其特征在于,所述模块M3包括:在虚拟机解释器执行智能合约字节码时,当执行到合约互调用的操作码时,将调用参数解析为目标合约所对应的虚拟机解释器能识别的编码方式,得到被调用的目标合约地址和目标合约信息。
10.根据权利要求6所述的基于EVM与Wasm虚拟机的多语言智能合约兼容系统,其特征在于,所述模块M6包括:在EVM和Wasm虚拟机解释器执行完不同智能合约互调用操作后,针对执行完得到的返回值通过Json的通用编码方式进行编码转换,得到发起方合约能够识别的编码类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海万向区块链股份公司,未经上海万向区块链股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011533338.5/1.html,转载请声明来源钻瓜专利网。