一种区块链智能合约调试发布方法及系统技术方案

技术编号:20945502 阅读:23 留言:0更新日期:2019-04-24 02:48
本发明专利技术公开了一种区块链智能合约调试发布方法及装置,方法包括:S1:在创建交易通道的同时自动创建一条测试通道,且用户加入或退出交易通道时同步将用户加入或退出测试通道;S2:将待测试的智能合约部署到测试通道上,测试通道上所有用户共同对合约内容进行业务测试;S3:判断待测试的智能合约测试是否通过,若通过,则执行步骤S4,若不通过,则将智能合约返回给开发者修改或选择新的智能合约后返回步骤S2,重新对其进行测试;S4:测试通道上所有用户对智能合约的内容进行共识,得到同意部署的反馈后,将智能合约部署到交易通道上。本发明专利技术可减少参与方工作量,缩短更新合约的操作周期,且有效提高区块链底层网络的运行和查询效率。

A debugging and issuing method and system of block chain intelligent contract

The invention discloses a debugging and issuing method and device for block chain intelligent contract, which includes: S1: automatically create a test channel while creating a trade channel, and synchronously add or exit the user when he joins or exits the trade channel; S2: deploy the intelligent contract to the test channel, and all the users on the test channel work together on the contract content. Business testing; S3: Determine whether the intelligent contract test to be tested passes, and if it passes, execute. 4. If it fails, return the intelligent contract to the developer to modify or select a new intelligent contract and test it again. S4: After all users on the test channel agree on the content of the intelligent contract and get the feedback of the agreed deployment, the intelligent contract will be tested again. Smart contracts are deployed on trading channels. The invention can reduce the workload of the participants, shorten the operation period of renewing the contract, and effectively improve the operation and query efficiency of the bottom network of block chain.

【技术实现步骤摘要】
一种区块链智能合约调试发布方法及系统
本专利技术涉及区块链
,特别涉及一种区块链智能合约调试发布方法及系统。
技术介绍
随着区块链技术的兴起和发展,越来越多的企业和组织开始探索区块链技术在多种商业和生活场景中的落地应用,以使这项新技术为社会的各项生产和生活活动带来切实可见的好处。作为一种为各类上层业务提供合约运行环境和技术支撑的基础平台,区块链平台既要保证自身运行的稳定性,同时也要为上层业务的稳定性和可用性提供支撑和担保。当前,区块链技术已经在金融、物流、版权保护等多种场景中展开了应用实践,而由于上层业务存在其复杂性和多变性,使得区块链上部署的智能合约往往需要多次的修改和测试才能验证其是否满足业务运行的要求。而通常区块链平台采用的方法是反复修改、反复部署,这种实现方式有两个问题:1、智能合约每次的修改和部署都需要频繁地进行合约内容在交易通道上的共识,增加了区块链中各参与方的工作量;2、使交易通道中增加了许多没有价值的测试数据,影响通道上区块和交易的查询和存储。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种区块链智能合约调试发布方法,以克服现有技术中智能合约每次的修改和部署都需要频繁地进行合约内容在交易通道上的共识,增加了区块链中各参与方的工作量,以及使交易通道中增加了许多没有价值的测试数据,影响通道上区块和交易的查询和存储等问题。一方面,提供了一种区块链智能合约调试发布方法,所述方法包括如下步骤:S1:在创建交易通道的同时自动创建一条测试通道,且用户加入或退出所述交易通道时同步将用户加入或退出所述测试通道;S2:将待测试的智能合约部署到所述测试通道上,所述测试通道上所有用户共同对合约内容进行业务测试;S3:判断所述待测试的智能合约测试是否通过,若通过,则执行步骤S4,若不通过,则将所述智能合约返回给开发者修改或选择新的智能合约后返回步骤S2,重新对其进行测试;S4:所述测试通道上所有用户对所述智能合约的内容进行共识,得到同意部署的反馈后,将所述智能合约部署到所述交易通道上。进一步的,所述待测试的智能合约包括新提交的智能合约和/或历史版本的智能合约。进一步的,所述S3具体包括:若所述新提交的智能合约测试通过,则执行步骤S4,若测试不通过,则将所述智能合约返回给开发者修改后返回步骤S2,重新对其进行测试;和/或,若所述历史版本的智能合约测试通过,则执行步骤S4,若测试不通过,则选择新的智能合约返回步骤S2,重新对其进行测试。进一步的,所述S2还包括:将所述智能合约在所述测试通道上运行生成的测试数据记录在所述测试通道上,用户可在所述测试通道查询所述测试数据。进一步的,所述步骤S2还包括:用户在得到所述测试通道上所有用户的共识后,可将所述测试数据删除。进一步的,所述步骤S4还包括:将所述智能合约在所述交易通道上运行生成的区块和/或交易数据记录在所述交易通道上,用户可在所述交易通道查询所述区块和/或交易数据。另一方面,提供了一种区块链智能合约调试发布系统,所述系统至少包括:新建模块,用于提供给用户创建交易通道,且在创建交易通道的同时自动创建一条测试通道;注册模块,用于提供给用户加入或退出所述交易通道,且在用户加入或退出所述交易通道时同步将用户加入或退出所述测试通道;测试模块,用于将待测试的智能合约部署到所述测试通道上,所述测试通道上所有用户共同对合约内容进行业务测试;判断模块,用于判断所述待测试的智能合约测试是否通过,若通过,则将所述待测试的智能合约发送至发布模块,若不通过,则将所述智能合约返回给开发者修改或选择新的智能合约后发送至测试模块,重新对其进行测试;发布模块,用于在所述测试通道上所有用户对所述智能合约的内容进行共识,得到同意部署的反馈后,将所述智能合约部署到所述交易通道上。进一步的,所述系统还包括:第一存储模块,用于将所述智能合约在所述测试通道上运行生成的测试数据记录在所述测试通道;第一查询模块,用于用户在所述测试通道查询所述测试数据。进一步的,所述系统还包括:删除模块,用于用户在得到所述测试通道上所有用户的共识后,将所述测试数据删除。进一步的,所述系统还包括:第二存储模块,用于将所述智能合约在所述交易通道上运行生成的区块和/或交易数据记录在所述交易通道上;第二查询模块,用于用户在所述交易通道查询所述区块和/或交易数据。本专利技术实施例提供的技术方案带来的有益效果是:1、本专利技术实施例提供的区块链智能合约调试发布方法及系统,在用户新建交易通道的同时系统自动为交易通道新建一条具有相同参与方的测试通道,用于合约正式部署前的测试,智能合约内容只需要在测试时由交易通道各参与方保证是否与其业务相符合而不需要在每次部署测试前都进行合约内容的共识认证,减少参与方工作量,缩短更新合约的操作周期;2、本专利技术实施例提供的区块链智能合约调试发布方法及系统,将测试数据和交易数据分别存储,两组数据互不干扰,有效提高区块链底层网络的运行和查询效率,提高稳定性;3、本专利技术实施例提供的区块链智能合约调试发布方法及系统,将软件开发工程中的流程规范性和可管理性引入到区块链通道的合约调试发布中,减少合约的维护成本,最大限度的提高团队的合作效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例示出的区块链智能合约调试发布方法流程图;图2是根据一示例性实施例示出的区块链智能合约调试发布系统的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是根据一示例性实施例示出的区块链智能合约调试发布方法流程图,参照图1所示,所述方法包括如下步骤:S1:在创建交易通道的同时自动创建一条测试通道,且用户加入或退出所述交易通道时同步将用户加入或退出所述测试通道。具体的,区块链的用户根据业务需要新建一条交易通道,系统会在用户创建交易通道的同时自动为其创建一条具有相同参与用户的测试通道,新的区块链用户在加入或退出交易通道的同时也将同步加入或退出对应的测试通道。S2:将待测试的智能合约部署到所述测试通道上,所述测试通道上所有用户共同对合约内容进行业务测试。具体的,区块链中的用户可以将合约开发者提交的待测试的智能合约部署到测试通道中,测试通道上所有用户共同对合约内容进行业务测试。这里需要说明的是,在本专利技术实施例中,智能合约内容只需要在测试时由测试通道的各参与方(同时这些参与方也是交易通道的参与方)保证是否与其业务相符合,而不需要在每次部署测试前都进行智能合约内容的共识认证,减少了各参与方工作量,缩短更新合约的操作周期。各参与方测试智能合约内容与其业务是否相符合可采用如下过程:获取待测试的智能合约对应的智能合约的代码,对智能合约代码进行编译,获取编译文件;对本文档来自技高网...

【技术保护点】
1.一种区块链智能合约调试发布方法,其特征在于,所述方法包括如下步骤:S1:在创建交易通道的同时自动创建一条测试通道,且用户加入或退出所述交易通道时同步将用户加入或退出所述测试通道;S2:将待测试的智能合约部署到所述测试通道上,所述测试通道上所有用户共同对合约内容进行业务测试;S3:判断所述待测试的智能合约测试是否通过,若通过,则执行步骤S4,若不通过,则将所述智能合约返回给开发者修改或选择新的智能合约后返回步骤S2,重新对其进行测试;S4:所述测试通道上所有用户对所述智能合约的内容进行共识,得到同意部署的反馈后,将所述智能合约部署到所述交易通道上。

【技术特征摘要】
1.一种区块链智能合约调试发布方法,其特征在于,所述方法包括如下步骤:S1:在创建交易通道的同时自动创建一条测试通道,且用户加入或退出所述交易通道时同步将用户加入或退出所述测试通道;S2:将待测试的智能合约部署到所述测试通道上,所述测试通道上所有用户共同对合约内容进行业务测试;S3:判断所述待测试的智能合约测试是否通过,若通过,则执行步骤S4,若不通过,则将所述智能合约返回给开发者修改或选择新的智能合约后返回步骤S2,重新对其进行测试;S4:所述测试通道上所有用户对所述智能合约的内容进行共识,得到同意部署的反馈后,将所述智能合约部署到所述交易通道上。2.根据权利要求1所述的区块链智能合约调试发布方法,其特征在于,所述待测试的智能合约包括新提交的智能合约和/或历史版本的智能合约。3.根据权利要求2所述的区块链智能合约调试发布方法,其特征在于,所述S3具体包括:若所述新提交的智能合约测试通过,则执行步骤S4,若测试不通过,则将所述智能合约返回给开发者修改后返回步骤S2,重新对其进行测试;和/或,若所述历史版本的智能合约测试通过,则执行步骤S4,若测试不通过,则选择新的智能合约返回步骤S2,重新对其进行测试。4.根据权利要求1至3任意一项所述的区块链智能合约调试发布方法,其特征在于,所述步骤S2还包括:将所述智能合约在所述测试通道上运行生成的测试数据记录在所述测试通道上,用户可在所述测试通道查询所述测试数据。5.根据权利要求4所述的区块链智能合约调试发布方法,其特征在于,所述步骤S2还包括:用户在得到所述测试通道上所有用户的共识后,可将所述测试数据删除。6.根据权利要求1至3任意一项所述的区块链智能合约调试发布方法,其特征在于,所述步...

【专利技术属性】
技术研发人员:王玥李蕊姚平韩松江
申请(专利权)人:苏宁易购集团股份有限公司
类型:发明
国别省市:江苏,32

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

1