[发明专利]一种智能合约调试方法、装置及其存储介质有效
申请号: | 201811318170.9 | 申请日: | 2018-11-06 |
公开(公告)号: | CN109446096B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 饶诗豪 | 申请(专利权)人: | 北京知道创宇信息技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
地址: | 100000 北京市朝阳区阜*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 调试 方法 装置 及其 存储 介质 | ||
1.一种智能合约调试方法,其特征在于,所述方法包括:
获取智能合约的操作码OpCode指令;
通过OpCode解释器确定所述OpCode指令对应的替代指令函数;
将所述替代指令函数中的运算函数转换为符号变量函数;
在所述替代指令函数被执行后,基于所述替代指令函数的执行结果调试所述智能合约,包括:显示所述替代指令函数的执行结果,获取用户指令,基于所述用户指令进行下一步调试操作;其中,所述用户指令包括查看当前栈的指令、查看内存数据的指令、查看当前指令的指令、查看下条指令的指令、获取当前指令的参数的指令、设置断点的指令和执行至断点的指令中的至少一个。
2.根据权利要求1所述的智能合约调试方法,其特征在于,在所述通过OpCode解释器确定所述OpCode指令对应的替代指令函数之前,所述方法还包括:
确定OpCode指令与原指令函数的对应关系,其中,所述原指令函数为所述智能合约中用于完成OpCode指令的封装函数;
基于所述对应关系,将所述原指令函数替换为能够完成OpCode指令的替换指令函数,并保存OpCode指令与替换指令函数的映射,以构建所述OpCode解释器。
3.根据权利要求2所述的智能合约调试方法,其特征在于,所述通过OpCode解释器确定所述OpCode指令对应的替代指令函数,包括:
将所述OpCode指令的字符串输入所述OpCode解释器;
通过所述OpCode解释器确定所述字符串对应的替换指令函数。
4.根据权利要求1所述的智能合约调试方法,其特征在于,在所述将所述替代指令函数中的运算函数转换为符号变量函数之前,所述方法还包括:
构建一个符号变量类,并给所述符号变量类添加运算函数;
其中,所述符号变量类中的符号变量用于替换所述OpCode指令需要获取的外部数据,所述运算函数用于执行所述替代指令函数中的运算函数。
5.根据权利要求4所述的智能合约调试方法,其特征在于,在所述构建一个符号变量类之后,所述方法还包括:
显示所述符号变量类。
6.一种智能合约调试装置,其特征在于,所述装置包括:
OpCode指令获取模块,用于获取智能合约的操作码OpCode指令;
替代指令函数确定模块,用于通过OpCode解释器确定所述OpCode指令对应的替代指令函数;
符号变量转换模块,用于将所述替代指令函数中的运算函数转换为符号变量函数;
调试模块,用于在所述替代指令函数被执行后,基于所述替代指令函数的执行结果调试所述智能合约,包括:显示所述替代指令函数的执行结果,获取用户指令,基于所述用户指令进行下一步调试操作;其中,所述用户指令包括查看当前栈的指令、查看内存数据的指令、查看当前指令的指令、查看下条指令的指令、获取当前指令的参数的指令、设置断点的指令和执行至断点的指令中的至少一个。
7.根据权利要求6所述的智能合约调试装置,其特征在于,所述装置还包括指令替换模块,所述指令替换模块包括:
对应关系确定单元,用于确定OpCode指令与原指令函数的对应关系,其中,所述原指令函数为所述智能合约中用于完成OpCode指令的封装函数;
指令替换单元,用于基于所述对应关系,将所述原指令函数替换为能够完成OpCode指令的替换指令函数,并保存OpCode指令与替换指令函数的映射,以构建所述OpCode解释器。
8.根据权利要求6所述的智能合约调试装置,其特征在于,所述装置还包括符号变量类构建模块,用于构建一个符号变量类,并给所述符号变量类添加运算函数,其中,所述符号变量类中的符号变量用于替换所述OpCode指令需要获取的外部数据,所述运算函数用于执行所述替代指令函数中的运算函数。
9.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1-5任一项所述方法中的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道创宇信息技术股份有限公司,未经北京知道创宇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811318170.9/1.html,转载请声明来源钻瓜专利网。