[发明专利]一种智能合约的升级方法、装置、设备及存储介质在审
| 申请号: | 202211687894.7 | 申请日: | 2022-12-27 |
| 公开(公告)号: | CN115794955A | 公开(公告)日: | 2023-03-14 |
| 发明(设计)人: | 毛嘉宇;范瑞彬;张开翔;张龙;储雨知;王越 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F8/41;G06F8/65 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 雷航 |
| 地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 智能 合约 升级 方法 装置 设备 存储 介质 | ||
1.一种智能合约的升级方法,其特征在于,包括:
对原始逻辑合约的代码进行升级,获得目标逻辑合约的代码;
扫描所述原始逻辑合约的代码,获得多个原始状态变量和所述多个原始状态变量的第一扫描顺序;以及扫描所述目标逻辑合约的代码,获得多个目标状态变量和所述多个目标状态变量的第二扫描顺序;
将所述多个原始状态变量和所述多个目标状态变量进行比对,确定发生变化的至少一个待处理状态变量,以及所述至少一个待处理状态变量的变化信息;
基于所述至少一个待处理状态变量的变化信息和所述第一扫描顺序,对所述第二扫描顺序进行调整获得第三扫描顺序;以及基于所述第三扫描顺序,在所述代理合约中为所述多个目标状态变量分配相应的存储插槽。
2.如权利要求1所述的方法,其特征在于,还包括:
部署所述目标逻辑合约,并将所述代理合约中保存的所述原始逻辑合约的合约地址,更新为所述目标逻辑合约的合约地址。
3.如权利要求1所述的方法,其特征在于,所述扫描所述目标逻辑合约的代码,获得多个目标状态变量和所述多个目标状态变量的第二扫描顺序,包括:
若对所述目标逻辑合约的继承关系进行解析,获得至少一个继承合约,则确定所述目标逻辑合约和所述至少一个继承合约的合约扫描顺序;
按照所述合约扫描顺序,依次扫描所述目标逻辑合约的代码以及所述至少一个继承合约的代码,获得多个目标状态变量以及所述多个目标状态变量的第二扫描顺序。
4.如权利要求3所述的方法,其特征在于,还包括:
若所述目标逻辑合约不存在继承合约,则扫描所述目标逻辑合约的代码,获得所述多个目标状态变量和所述多个目标状态变量的第二扫描顺序。
5.如权利要求1所述的方法,其特征在于,所述基于所述至少一个待处理状态变量的变化信息和所述第一扫描顺序,对所述第二扫描顺序进行调整获得第三扫描顺序,包括:
针对每个待处理状态变量,基于所述待处理状态变量的变化信息,查询预设的排序处理逻辑列表,确定所述待处理状态变量在所述第二扫描顺序中的调整规则;
基于所述至少一个待处理状态变量各自对应的调整规则,对所述第二扫描顺序进行调整,获得第三扫描顺序。
6.如权利要求5所述的方法,其特征在于,所述待处理状态变量的变化信息包括以下至少一项:删除、新增、重命名、访问顺序变化和类型变化;
所述删除、所述重命名和所述访问顺序变化对应的所述调整规则为:将所述待处理状态变量在所述第一扫描顺序中的序号,作为所述待处理状态变量在所述第二扫描顺序中的序号;
所述新增对应的所述调整规则为:在所述第一扫描顺序的末尾增长所述待处理状态变量,获得所述待处理状态变量在所述第一扫描顺序中的新增序号,并将所述新增序号作为所述待处理状态变量在所述第二扫描顺序中的序号;
所述类型变化对应的所述调整规则为:若变化前和变化后的类型兼容,则将所述待处理状态变量在所述第一扫描顺序中的序号,作为所述待处理状态变量在所述第二扫描顺序中的序号;若变化前和变化后的类型兼容,则报错。
7.如权利要求1至6任一所述的方法,其特征在于,所述对原始逻辑合约进行升级,获得目标逻辑合约,包括:
对所述原始逻辑合约的代码进行修改,获得所述目标逻辑合约的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211687894.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:蛋白偶联试剂、蛋白偶联微球、微孔板及其应用
- 下一篇:一种均温板集成式电堆





