[发明专利]以太坊虚拟机的事务处理方法、装置、设备和介质有效
| 申请号: | 202011543554.8 | 申请日: | 2020-12-24 |
| 公开(公告)号: | CN112286642B | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 张磊;樊冰新;郑旗;肖伟 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F21/64 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 以太 虚拟机 事务处理 方法 装置 设备 介质 | ||
1.一种基于以太坊虚拟机的事务处理方法,应用于区块链节点,所述方法包括:
在区块链节点中运行的虚拟机实例,获取待处理事务请求;
所述虚拟机实例执行所述待处理事务请求的过程中,产生针对目标访问数据的数据访问请求,并传输给接口模块;所述数据访问请求包括数据读请求和/或数据写请求;
所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作,并将访问结果反馈给所述虚拟机实例;
其中,所述区块链的数据存储空间包括账户空间和合约空间,所述账户空间用于存储外部账户中的账户数据和合约账户中的账户数据,所述合约空间用于存储合约账户中的合约数据。
2.根据权利要求1所述的方法,其中,所述区块链的数据存储空间用于支持至少两种账户的数据操作,各所述账户的账户数据所使用的数据结构相同。
3.根据权利要求1所述的方法,其中,所述账户数据包括账户标识、交易序列号、账户公钥和通证。
4.根据权利要求3所述的方法,其中:
所述账户数据采用键值对存储形式,所述账户标识作为键值存储于键域中,所述交易序列号、账户公钥和通证存储于值域中。
5.根据权利要求1所述的方法,其中,所述合约数据包括账户标识、合约字节码和合约内变量;其中,所述账户标识为智能合约的合约调用标识。
6.根据权利要求5所述的方法,其中:
所述合约数据采用键值对存储形式,所述账户标识作为键值中的前缀,与所述合约字节码和合约内变量各自的标识进行组合,存储于键域中;所述合约字节码和合约内变量存储于值域中。
7.根据权利要求1-6任一所述的方法,其中:
所述区块链访问接口的类别包括账户访问接口、存储访问接口和合约操作接口;
其中,所述账户访问接口用于访问账户数据;所述合约访问接口用于操作合约账户;所述存储访问接口用于更新合约数据。
8.根据权利要求7所述的方法,其中,所述区块链访问接口中的区块链读接口包括下述至少一项:
合约内变量读取接口;
账户通证余额读取接口;
合约字节码读取接口;
账户的交易序列号读取接口;
链上合约查询接口;
链上账户查询接口;
根据区块高度读取区块哈希的读取接口。
9.根据权利要求7所述的方法,其中,所述区块链访问接口中的区块链写接口包括下述至少一项:
合约账户创建接口;
合约字节码初始化接口;
合约账户删除接口;
合约内变量存储接口;
账户余额增加接口;
账户余额减少接口。
10.根据权利要求9所述的方法,其中,所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作包括:
如果所述数据访问请求为合约创建请求,则所述接口模块根据所述合约创建请求调用合约账户创建接口,在所述账户空间中创建合约账户并写入所述合约账户的账户数据,并创建合约空间;
所述接口模块在执行所述合约账户创建接口的过程中,调用所述合约字节码初始化接口,以对待创建的智能合约进行编译,形成合约字节码写入所述合约空间;
所述接口模块在执行所述合约账户创建接口的过程中,调用所述合约内变量存储接口,在所述合约空间中创建并存储所述智能合约的合约内变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011543554.8/1.html,转载请声明来源钻瓜专利网。





