[发明专利]一种智能合约调试方法、装置及其存储介质有效

专利信息
申请号: 201811318170.9 申请日: 2018-11-06
公开(公告)号: CN109446096B 公开(公告)日: 2021-08-24
发明(设计)人: 饶诗豪 申请(专利权)人: 北京知道创宇信息技术股份有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 代理人: 徐丽
地址: 100000 北京市朝阳区阜*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 智能 合约 调试 方法 装置 及其 存储 介质
【说明书】:

发明提供了一种智能合约调试方法、装置及其存储介质,涉及智能合约调试技术领域。所述智能合约调试方法包括:获取智能合约的操作码OpCode指令;通过OpCode解释器确定所述OpCode指令对应的替代指令函数;将所述替代指令函数中的运算函数转换为符号变量函数;在所述替代指令函数被执行后,基于所述替代指令函数的执行结果调试所述智能合约。该智能合约调试方法能在缺失智能合约源码、没有区块链具体交易数值的情况下进行智能合约的调试。

技术领域

本发明涉及智能合约调试技术领域,具体而言,涉及一种智能合约调试方法、装置及其存储介质。

背景技术

智能合约是1990s年代由尼克萨博提出的理念,几乎与互联网同龄。由于缺少可信的执行环境,智能合约并没有被应用到实际产业中,自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,以太坊首先看到了区块链和智能合约的契合,发布了白皮书《以太坊:下一代智能合约和去中心化应用平台》,并一直致力于将以太坊打造成最佳智能合约平台,所以比特币引领区块链,以太坊复活智能合约。

智能合约作为当下热点话题之一,从而衍生出了智能合约代码审计的行业,但是目前的审计都是基于智能合约源码上,如果需要调试的智能合约没有公开源码和区块链具体交易数值,就无法弄清楚整个智能合约的代码逻辑。

发明内容

有鉴于此,本发明实施例的目的在于提供一种智能合约调试方法、装置及其存储介质,以解决上述需要调试的智能合约没有公开源码和区块链具体交易数值,就无法弄清楚整个智能合约的代码逻辑的问题。

第一方面,本发明实施例提供了一种智能合约调试方法,所述智能合约调试方法包括:获取智能合约的操作码OpCode指令;通过OpCode解释器确定所述OpCode指令对应的替代指令函数;将所述替代指令函数中的运算函数转换为符号变量函数;在所述替代指令函数被执行后,基于所述替代指令函数的执行结果调试所述智能合约。

综合第一方面,在所述通过OpCode解释器确定所述OpCode指令对应的替代指令函数之前,所述方法还包括:确定OpCode指令与原指令函数的对应关系,其中,所述原指令函数为所述智能合约中用于完成OpCode指令的封装函数;基于所述对应关系,将所述原指令函数替换为能够完成OpCode指令的替换指令函数,并保存OpCode指令与替换指令函数的映射,以构建所述OpCode解释器。

综合第一方面,所述通过OpCode解释器确定所述OpCode指令对应的替代指令函数,包括:将所述OpCode指令的字符串输入所述OpCode解释器;通过所述OpCode解释器确定所述字符串对应的替换指令函数。

综合第一方面,在所述将所述替代指令函数中的运算函数转换为符号变量函数之前,所述方法还包括:构建一个符号变量类,并给所述符号变量类添加运算函数;其中,所述符号变量类中的符号变量用于替换所述OpCode指令需要获取的外部数据,所述运算函数用于执行所述替代指令函数中的运算函数。

综合第一方面,在所述构建一个符号变量类之后,所述方法还包括:显示所述符号变量类。

综合第一方面,所述基于所述替代指令函数的执行结果调试所述智能合约,包括:显示所述替代指令函数的执行结果,获取用户指令,基于所述用户指令进行下一步调试操作;其中,所述用户指令包括查看当前栈的指令、查看内存数据的指令、查看当前指令的指令、查看下条指令的指令、获取当前指令的参数的指令、设置断点的指令和执行至断点的指令中的至少一个。

第二方面,本发明实施例提供了一种智能合约调试装置,所述装置包括:OpCode指令获取模块,用于获取智能合约的操作码OpCode指令;替代指令函数确定模块,用于通过OpCode解释器确定所述OpCode指令对应的替代指令函数;符号变量转换模块,用于将所述替代指令函数中的运算函数转换为符号变量函数;调试模块,用于在所述替代指令函数被执行后,基于所述替代指令函数的执行结果调试所述智能合约。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道创宇信息技术股份有限公司,未经北京知道创宇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811318170.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top