[发明专利]一种具有多个智能合约执行引擎的虚拟机及其实现方法有效
申请号: | 201811277027.X | 申请日: | 2018-10-30 |
公开(公告)号: | CN109582438B | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 石宁;吴其震 | 申请(专利权)人: | 广州斯拜若科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/448 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 胡辉 |
地址: | 510525 广东省广州市黄埔*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具有 智能 合约 执行 引擎 虚拟机 及其 实现 方法 | ||
1.一种具有多个智能合约执行引擎的虚拟机,其特征在于:包括客户端和服务端,所述服务端包括若干个智能合约执行引擎;其中,
所述客户端,用于与用户和服务端进行交互,以根据用户请求对智能合约执行引擎进行调度;
所述智能合约执行引擎,用于根据客户端的调度来执行智能合约;
其中,所述智能合约的编程语言类型不唯一;每一个所述智能合约执行引擎识别一种或一类编程语言类型;
所述客户端包括:
RPC接口模块,用于接收用户请求,以及将用户请求结果反馈给用户;其中,所述用户请求包括智能合约部署请求和智能合约执行请求,所述用户请求结果包括智能合约部署结果和智能合约执行结果;
解析模块,用于解析RPC接口模块获取的用户请求;其中,当用户请求是智能合约部署请求时,解析模块对智能合约部署请求进行分析,生成ABI文件;当用户请求是智能合约执行请求时,解析模块对智能合约执行请求进行合法性判断;
调度模块,用于监控智能合约执行引擎的状态,以及将新的智能合约执行引擎注册至服务端;
引擎交互模块,用于将用户请求转发至对应的智能合约执行引擎,以及接收服务端反馈的用户请求结果;
所述智能合约执行引擎包括:
控制器模块,用于与客户端进行交互,以接收客户端转发的用户请求,并将用户请求结果反馈至客户端;
合约执行模块,用于执行智能合约;
合约开发SDK模块,用于提供智能合约编写功能。
2.一种具有多个智能合约执行引擎的虚拟机的实现方法,其特征在于:包括以下步骤:
通过客户端获取用户请求,并根据用户请求对智能合约执行引擎进行调度;
根据客户端的调度,通过服务端的智能合约执行引擎执行智能合约;
其中,所述服务端包括若干个智能合约执行引擎;所述智能合约的编程语言类型不唯一;每一个所述智能合约执行引擎识别一种或一类编程语言类型;
所述根据用户请求对智能合约执行引擎进行调度这一步骤,包括以下步骤:
通过RPC接口模块接收用户请求,以及将用户请求结果反馈给用户;
通过解析模块对RPC接口模块获取的用户请求进行解析;
通过调度模块监控智能合约执行引擎的状态,以及将新的智能合约执行引擎注册至服务端;
通过引擎交互模块将用户请求转发至对应的智能合约执行引擎,以及接收服务端反馈的用户请求结果;
所述用户请求包括智能合约部署请求和智能合约执行请求,所述用户请求结果包括智能合约部署结果和智能合约执行结果;
所述通过解析模块对RPC接口模块获取的用户请求进行解析这一步骤,包括以下步骤:
当用户请求是智能合约部署请求时,通过解析模块对智能合约部署请求进行分析,生成ABI文件,并将ABI文件存储在本地;
当用户请求是智能合约执行请求时,通过解析模块对智能合约执行请求进行合法性判断;
所述通过解析模块对智能合约执行请求进行合法性判断这一步骤,包括以下步骤:
通过解析模块对智能合约执行请求进行参数缺失判断;
通过解析模块对智能合约执行请求进行参数类型判断;
将智能合约执行请求发送至引擎交互模块;
所述通过服务端的智能合约执行引擎执行智能合约这一步骤,包括以下步骤:
通过控制器模块接收客户端转发的用户请求;
根据用户请求,通过合约执行模块执行智能合约;
通过合约开发SDK模块提供智能合约编写功能;
该方法还包括区块链节点根据用户请求结果更新区块链网络的状态这一步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州斯拜若科技有限公司,未经广州斯拜若科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811277027.X/1.html,转载请声明来源钻瓜专利网。