[发明专利]一种智能合约的测试方法、装置、设备及存储介质在审
申请号: | 202010117685.3 | 申请日: | 2020-02-25 |
公开(公告)号: | CN111352835A | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 陈金龙 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;杜维 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 测试 方法 装置 设备 存储 介质 | ||
1.一种智能合约的测试方法,其特征在于,包括:
接收服务器发送的测试请求,所述测试请求携带待测试智能合约;
根据所述待测试智能合约生成与所述待测试智能合约对应的测试合约;
对所述待测试智能合约和所述测试合约进行处理,以得到所述待测试智能合约的测试结果;
将所述测试结果发送至所述服务器,以响应所述测试请求。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待测试智能合约生成与所述待测试智能合约对应的测试合约,包括:
获取所述待测试智能合约的接口描述;
根据所述接口描述,生成与所述接口描述的测试场景相对应的测试合约。
3.根据权利要求2所述的方法,其特征在于,所述根据所述接口描述,生成与所述接口描述的测试场景相对应的测试合约,包括:
获取测试合约模板;
获取与所述接口描述对应的异常参数;
将所述异常参数填充至所述测试合约模板中,以得到所述测试合约。
4.根据权利要求2或3所述的方法,其特征在于,所述测试合约包括测试接口参数长度是否符合预设长度,
或者,所述测试合约包括测试接口参数类型是否符合预设类型,
或者,所述测试合约包括测试接口地址是否在预设地址黑名单中。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述对所述待测试智能合约和所述测试合约进行处理,以得到所述待测试智能合约的测试结果,包括:
对所述待测试智能合约进行编译,以得到编译后的待测试智能合约;
将所述编译后的待测试智能合约记录至区块链上,并获取所述编译后的待测试智能合约的地址;
将所述编译后的待测试智能合约的地址写入所述测试合约,以得到更新后的测试合约;
对所述更新后的测试合约进行编译,以得到编译后的测试合约;
将所述编译后的测试合约记录至所述区块链上,并获取所述编译后的测试合约的地址;
根据所述编译后的测试合约的地址执行所述编译后的测试合约,以得到所述待测试智能合约的测试结果。
6.根据权利要求5所述的方法,其特征在于,所述测试合约包含第一事件,所述方法还包括:
监听所述测试合约中的第一事件;
确认所述第一事件是否与预设事件匹配;
若匹配,则发出预设提醒。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
当满足预设条件时,获取治理合约;
根据所述治理合约分别对所述待测试智能合约和所述测试合约进行处理,以销毁所述待测试智能合约和所述测试合约。
8.一种智能合约的测试装置,其特征在于,包括:
接收模块,用于接收服务器发送的测试请求,所述测试请求携带待测试智能合约;
生成模块,用于根据所述待测试智能合约生成与所述待测试智能合约对应的测试合约;
处理模块,用于对所述待测试智能合约和所述测试合约进行处理,以得到所述待测试智能合约的测试结果;
发送模块,用于将所述测试结果发送至所述服务器,以响应所述测试请求。
9.一种设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任意一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010117685.3/1.html,转载请声明来源钻瓜专利网。