[发明专利]智能合约测试方法、装置在审
申请号: | 202010269488.3 | 申请日: | 2020-04-08 |
公开(公告)号: | CN111581077A | 公开(公告)日: | 2020-08-25 |
发明(设计)人: | 刘超;周勇钧;农高明;陈金龙;鲁四喜 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市隆天联鼎知识产权代理有限公司 44232 | 代理人: | 叶虹 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 测试 方法 装置 | ||
本申请提供了一种智能合约测试方法、装置。该方法包括:从区块链网络中获取待测试的第一智能合约,第一智能合约中包含有合约升级功能;基于需要更新的合约内容执行合约升级功能,以对第一智能合约进行升级,得到第二智能合约;基于第一智能合约所包含的内容和第二智能合约所包含的内容,确定合约升级功能的测试结果。本申请实施例的技术方案对智能合约中的合约升级功能进行测试,实现了对智能合约的升级测试,进而可以在对智能合约进行升级测试通过之后,再将智能合约应用到区块链网络中,提高了区块链网络的可靠性。
技术领域
本申请涉及计算机及通信技术领域,特别涉及一种智能合约测试方法、装置。
背景技术
区块链网络是一种去中心化的数据库,区块链网络中的智能合约以数字形式定义的承诺,合约参与方可以在区块链网络中执行这些承诺的协议,智能合约允许参与方在没有第三方的情况下进行可信交易。
由于区块链网络中的交易以智能合约为执行标准,并且区块链网络中的数据不能被修改,智能合约一旦有漏洞,将产生不可逆的错误。因此,在智能合约应用于区块链网络之前,如何发现智能合约中的漏洞,是亟待解决的问题。
发明内容
本申请旨在提供一种智能合约测试方法、装置,至少能够对智能合约进行测试,以提高区块链网络的可靠性。
根据本申请实施例的一个方面,提供了一种智能合约测试方法,包括:从区块链网络中获取待测试的第一智能合约,所述第一智能合约中包含有合约升级功能;基于需要更新的合约内容执行所述合约升级功能,以对所述第一智能合约进行升级,得到第二智能合约;基于所述第一智能合约所包含的内容和所述第二智能合约所包含的内容,确定所述合约升级功能的测试结果。
根据本申请实施例的一个方面,提供了一种智能合约测试装置,包括:获取模块,用于从区块链网络中获取待测试的第一智能合约,所述第一智能合约中包含有合约升级功能;升级模块,用于基于需要更新的合约内容执行所述合约升级功能,以对所述第一智能合约进行升级,得到第二智能合约;测试模块,用于基于所述第一智能合约所包含的内容和所述第二智能合约所包含的内容,确定所述合约升级功能的测试结果。
在本申请的一些实施例中,基于前述方案,所述升级模块配置为:将所述第一智能合约分离为逻辑合约与数据合约;若基于所述需要更新的合约内容确定需要对所述逻辑合约进行升级,则根据所述需要更新的合约内容升级所述逻辑合约;若基于所述需要更新的合约内容确定需要对所述数据合约进行升级,则根据所述需要更新的合约内容升级所述数据合约。
在本申请的一些实施例中,基于前述方案,所述升级模块配置为:若基于所述需要更新的合约内容确定需要对所述逻辑合约进行升级,则调用对所述逻辑合约升级后得到的逻辑合约中的目标接口,所述目标接口是所述逻辑合约升级后新增的接口,且用于调用升级后的逻辑合约;若对所述目标接口调用成功,且所述数据合约中的数据在所述逻辑合约升级前后保持一致,则确定所述合约升级功能针对所述逻辑合约测试成功。
在本申请的一些实施例中,基于前述方案,所述升级模块配置为:在基于所述需要更新的合约内容确定需要对所述数据合约进行升级的情况下,若从所述数据合约升级后得到的数据合约中,访问到新增的数据,且从所述数据合约升级后得到的数据合约中,访问到所述数据合约升级前包含的数据,则确定所述合约升级功能针对所述数据合约测试成功,所述新增的数据来自所述需要更新的合约内容。
在本申请的一些实施例中,基于前述方案,所述升级模块配置为:基于需要更新的合约内容生成所述第二智能合约;获取调用所述第一智能合约的代理合约;获取所述第二智能合约的地址;将所述代理合约中调用的所述第一智能合约的地址,变更为所述第二智能合约的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010269488.3/2.html,转载请声明来源钻瓜专利网。