一种自动调试智能合约的方法及系统技术方案

技术编号:32026890 阅读:55 留言:0更新日期:2022-01-22 18:57
本申请涉及区块链技术领域,尤其涉及一种自动调试智能合约的方法及系统,包括:向测试区块链网络的代表区块链节点上部署智能合约的代码;响应于智能合约的代码在测试区块链网络的代表区块链节点上部署完毕,生成随机交易事件,以使测试区块链网络的执行区块链节点进行智能合约的调试;通过调试结果得到调试结果的综合评价指标,以依据综合评价指标调整智能合约或者向正式区块链网络中部署智能合约;响应于向正式区块链网络中部署智能合约完毕,删除测试区块链网络的代表区块链节点上部署的智能合约的代码。本申请可以自动调试智能合约,减少对于智能合约调试的人力投入。减少对于智能合约调试的人力投入。减少对于智能合约调试的人力投入。

【技术实现步骤摘要】
一种自动调试智能合约的方法及系统


[0001]本申请涉及区块链
,尤其涉及一种自动调试智能合约的方法及系统。

技术介绍

[0002]区块链是一个去中心化去信任的集体维护的可靠数据库,从本质上讲,它是一个共享数据库,存储于其中的数据或信息具有不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征。基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制,具有广阔的运用前景。
[0003]智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其部署在区块链上,允许在没有第三方的情况下进行可信交易,保证交易可追踪且不可逆转,提供了优于传统合约的安全方法,并减少与合约相关的其他交易成本。
[0004]由于智能合约就是代码,与纸质合同不同,智能合约对代码精确度要求极高,在智能合约编写不正确时会导致交易失败,浪费大量人力物力以及时间,所以智能合约需要通过调试器来调试代码,保证在发生错误时操作人员能迅速、准确地找到错误并解决它。
[0005]目前,对于智能合约的调试,需要开发人员将智能合约的源代码输入调试器,然后对智能合约进行本地调试,这样必须要有专门的人员进行智能合约的调试,增加了人力投入。
[0006]因此,如何能够实现自动调试智能合约,以减少对于智能合约调试的人力投入,是本领域技术人员目前急需解决的技术问题。

技术实现思路

[0007]本申请提供了一种自动调试智能合约的方法及系统,以自动调试智能合约,减少对于智能合约调试的人力投入。
[0008]为解决上述技术问题,本申请提供如下技术方案:一种自动调试智能合约的方法,包括如下步骤:步骤S110、向测试区块链网络的代表区块链节点上部署智能合约的代码;步骤S120、响应于智能合约的代码在测试区块链网络的代表区块链节点上部署完毕,生成随机交易事件,以使测试区块链网络的执行区块链节点进行智能合约的调试;步骤S130、通过调试结果得到调试结果的综合评价指标,以依据综合评价指标调整智能合约或者向正式区块链网络中部署智能合约;步骤S140、响应于向正式区块链网络中部署智能合约完毕,删除测试区块链网络的代表区块链节点上部署的智能合约的代码。
[0009]如上所述的自动调试智能合约的方法,其中,优选的是,智能合约的代码包括能够实现智能合约所约束事件的合约代码和能够发起智能合约调试的调试代码。
[0010]如上所述的自动调试智能合约的方法,其中,优选的是,将合约代码和调试代码部署至测试区块链网络的代表区块链节点上,从而完成智能合约的部署。
[0011]如上所述的自动调试智能合约的方法,其中,优选的是,计算测试区块链网络中的
每个区块链节点的安全评价值,将安全评价值最高的区块链节点作为代表区块链节点,而将剩余的区块链节点作为执行区块链节点。
[0012]如上所述的自动调试智能合约的方法,其中,优选的是,若调试结果的综合评价指标不小于预设值,则调整代表区块链节点中的合约代码,接着进行步骤S120和步骤S130,以反复进行智能合约的调试;若调试结果的综合评价指标小于预设值,则将部署在代表区块链节点上的合约代码部署至正式区块链网络的区块链节点上。
[0013]一种自动调试智能合约的系统,其中,优选的是,包括:测试区块链网络、正式区块链网络、部署模块、随机交易事件生成模块、综合评价指标获取模块和删除模块;其中,测试区块链网络包括:代表区块链节点和执行区块链节点;正式区块链网络包括区块链节点;部署模块向测试区块链网络的代表区块链节点上部署智能合约的代码;响应于智能合约的代码在测试区块链网络的代表区块链节点上部署完毕,随机交易事件生成模块生成随机交易事件,以使测试区块链网络的执行区块链节点进行智能合约的调试;综合评价指标获取模块通过调试结果得到调试结果的综合评价指标,以依据综合评价指标调整智能合约或者向正式区块链网络中部署智能合约;响应于向正式区块链网络中部署智能合约完毕,删除模块删除测试区块链网络的代表区块链节点上部署的智能合约的代码。
[0014]如上所述的自动调试智能合约的系统,其中,优选的是,智能合约的代码包括能够实现智能合约所约束事件的合约代码和能够发起智能合约调试的调试代码。
[0015]如上所述的自动调试智能合约的系统,其中,优选的是,将合约代码和调试代码部署至测试区块链网络的代表区块链节点上,从而完成智能合约的部署。
[0016]如上所述的自动调试智能合约的系统,其中,优选的是,计算测试区块链网络中的每个区块链节点的安全评价值,将安全评价值最高的区块链节点作为代表区块链节点,而将剩余的区块链节点作为执行区块链节点。
[0017]如上所述的自动调试智能合约的系统,其中,优选的是,若调试结果的综合评价指标不小于预设值,则调整代表区块链节点中的合约代码,以反复进行智能合约的调试;若调试结果的综合评价指标小于预设值,则将部署在代表区块链节点上的合约代码部署至正式区块链网络的区块链节点上。
[0018]相对上述
技术介绍
,本申请提供的自动调试智能合约的方法及系统,能够实现自动调试智能合约,减少了对于智能合约调试的人力投入。
附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0020]图1是本申请实施例提供的自动调试智能合约的方法的流程图;图2是本申请实施例提供的自动调试智能合约的系统的示意图。
具体实施方式
[0021]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终
相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。
[0022]实施例一请参阅图1,图1是本申请实施例提供的自动调试智能合约的方法的流程图。
[0023]本申请提供了一种自动调试智能合约的方法,包括如下步骤:步骤S110、向测试区块链网络的代表区块链节点上部署智能合约的代码;在开发人员将智能合约编写完毕后,将智能合约的代码部署至测试区块链网络中。其中,本申请的智能合约不仅能够实现智能合约所约束的事件(例如:货物售卖及收款事件),还能够自动发起智能合约的调试,因此本申请的智能合约的代码包括能够实现智能合约所约束事件的合约代码,例如:用于付款的货币、汇率、可变利率、执行时间等约束事件的所有规则、交易方式和状态转移函数等,而且还包括能够发起智能合约调试的调试代码。
[0024]测试区块链网络中包括多个区块链节点,从多个区块链节点中选择出一个区块链节点作为部署智能合约的代表区块链节点,而剩余的区块链节点作为执行区块链节点,并且执行区块链节点均遵守相同的共识机制(例如:POW工作量证明机制、POS股权证明机制、DPOS本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动调试智能合约的方法,其特征在于,包括如下步骤:步骤S110、向测试区块链网络的代表区块链节点上部署智能合约的代码;步骤S120、响应于智能合约的代码在测试区块链网络的代表区块链节点上部署完毕,生成随机交易事件,以使测试区块链网络的执行区块链节点进行智能合约的调试;步骤S130、通过调试结果得到调试结果的综合评价指标,以依据综合评价指标调整智能合约或者向正式区块链网络中部署智能合约;步骤S140、响应于向正式区块链网络中部署智能合约完毕,删除测试区块链网络的代表区块链节点上部署的智能合约的代码。2.根据权利要求1所述的自动调试智能合约的方法,其特征在于,智能合约的代码包括能够实现智能合约所约束事件的合约代码和能够发起智能合约调试的调试代码。3.根据权利要求2所述的自动调试智能合约的方法,其特征在于,将合约代码和调试代码部署至测试区块链网络的代表区块链节点上,从而完成智能合约的部署。4.根据权利要求1

3任一项所述的自动调试智能合约的方法,其特征在于,计算测试区块链网络中的每个区块链节点的安全评价值,将安全评价值最高的区块链节点作为代表区块链节点,而将剩余的区块链节点作为执行区块链节点。5.根据权利要求1

3任一项所述的自动调试智能合约的方法,其特征在于,若调试结果的综合评价指标不小于预设值,则调整代表区块链节点中的合约代码,接着进行步骤S120和步骤S130,以反复进行智能合约的调试;若调试结果的综合评价指标小于预设值,则将部署在代表区块链节点上的合约代码部署至正式区块链网络的区块链节点上。6.一种自动调试智能合约的系统,其特征在于,包括:测试区块链网络、正式区块链网络、部...

【专利技术属性】
技术研发人员:王姣杰
申请(专利权)人:北京中科金财科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1