一种区块链智能合约调用管理方法技术

技术编号:33440349 阅读:14 留言:0更新日期:2022-05-19 00:27
本发明专利技术公开了一种区块链智能合约调用管理方法,涉及区块链技术领域,包括以下步骤:预先接收业务层发送的调用请求;进行解析所述调用请求,确定待调用的智能合约的函数接口,并从区块链中获取待调用的多个智能合约进行业务处理生成业务数据;基于不同的验证请求切换不同的业务数据至不同的片区区块链进行执行;对所述业务数据在所述区块链中的执行结果进行验证,若均验证通过则确定智能合约执行有效。本发明专利技术提高了区块链对智能合约的处理效率,另外协调规范众多智能合约的管理并消除合约调用中潜在的安全隐患,保证区块链业务数据的顺利执行,其智能合约存储安全性较高,且调用和交易验证安全性较高,应用范围广。应用范围广。应用范围广。

【技术实现步骤摘要】
一种区块链智能合约调用管理方法


[0001]本专利技术涉及区块链
,具体来说,涉及一种区块链智能合约调用管理方法。

技术介绍

[0002]区块链,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
[0003]智能合约,是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
[0004]现有技术中,由于区块链的存储优势,智能合约被存储在区块链中,但是现有技术中智能合约是被公开存储在区块链上,使得其他人可以查看,发现漏洞然后进行攻击,同时外部智能合约调用主要是采用同步调用的方式执行外部智能合约的调用。即,调用者合约在需要调用外部智能合约时,会向宿主环境发起外部智能合约调用请求,以使宿主环境基于该外部智能合约请求创建一个新的虚拟机,并基于虚拟机执行被调用合约。此时,调用者合约需等待被调用合约执行完毕并获得被调用合约的返回值后才能执行后续步骤。然而,由于外部智能合约调用本身涉及宿主环境通信、虚拟机创建及外部智能合约自身的执行开销,因此采用同步调用的方式执行外部智能合约会导致外部智能合约的执行成本较大,并导致外部智能合约的执行效率低。
[0005]针对相关技术中的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]针对相关技术中的问题,本专利技术提出一种区块链智能合约调用管理方法,以克服现有相关技术所存在的上述技术问题。
[0007]本专利技术的技术方案是这样实现的:
[0008]一种区块链智能合约调用管理方法,包括以下步骤:
[0009]步骤S4,预先接收业务层发送的调用请求;
[0010]步骤S5,进行解析所述调用请求,确定待调用的智能合约的函数接口,并从区块链中获取待调用的多个智能合约进行业务处理生成业务数据;
[0011]步骤S6,基于不同的验证请求切换不同的业务数据至不同的片区区块链进行执行;
[0012]步骤S7,对所述业务数据在所述区块链中的执行结果进行验证,若均验证通过则确定智能合约执行有效。
[0013]其中,步骤所述预先接收业务层发送的调用请求,包括以下步骤:
[0014]步骤S1,预先进行创建业务合约,用于区块链上数据业务的执行流程,允许业务数据相互之间存在调用关系;
[0015]步骤S2,进行创建控制合约,用于维护合约映射表,记录业务合约地址、外部接口
和调用接口;
[0016]步骤S3,进行将业务合约写入区块链,同时在控制合约进行注册。
[0017]其中,步骤所述进行将业务合约写入区块链,包括以下步骤:
[0018]步骤S301,当前业务合约发生接口变更,业务合约向控制合约发送变更信息;
[0019]步骤S302,控制合约更新合约映射表中业务合约的接口信息,并向因业务合约发生迭代而有待更新的其它业务合约推送业务合约更新后的接口信息;
[0020]步骤S303,收到推送消息的其他业务合约进行相应的接口信息更新,并将更新后合约信息发送给控制合约;
[0021]步骤S304,控制合约更新合约映射表中所述其他业务合约的合约信息。
[0022]其中,步骤所述进行业务处理生成业务数据,包括以下步骤:
[0023]步骤S401,将生成的业务数据采用轮询机制写入同步库中。
[0024]其中,还包括以下步骤:
[0025]步骤S402,预先接收业务层发送的调用请求;
[0026]步骤S403,进行解析所述调用请求,并从同步库或获取目标数据;
[0027]步骤S404,将目标数据返回至业务数据中。
[0028]其中,步骤所述基于不同的验证请求切换不同的业务数据至不同的片区区块链进行执行,包括以下步骤:
[0029]步骤S601,将所述业务数据中的多个智能合约分别分配给区块链中的多个不同的节点进行处理;
[0030]步骤S602,基于不同的验证请求切换相对应的业务数据至区块链节点进行处理。
[0031]其中,步骤所述对所述业务数据在所述区块链中的执行结果进行验证,包括以下步骤:
[0032]步骤S701,从区块链的任意节点中获取任意区块;
[0033]步骤S702,对获取区块中的梅克尔树的叶子节点进行验证,
[0034]步骤S703,若验证通过,则确定智能合约执行有效。
[0035]其中,所述梅克尔树的叶子节点进行验证,包括以下步骤:
[0036]步骤S704,预先进行区块中提取智能合约的执行结果;
[0037]步骤S705,基于提取的执行结果构造另一叶子节点,对比区块中的梅克尔树的叶子节点的根节点是否与根节点相同,
[0038]步骤S706,若根节点相同,则区块中的梅克尔树的叶子节点验证通过。
[0039]本专利技术的有益效果:
[0040]本专利技术区块链智能合约调用管理方法,通过预先接收业务层发送的调用请求,进行解析所述调用请求,确定待调用的智能合约的函数接口,并从区块链中获取待调用的多个智能合约进行业务处理生成业务数据,基于不同的验证请求切换不同的业务数据至不同的片区区块链进行执行,对所述业务数据在所述区块链中的执行结果进行验证,若均验证通过则确定智能合约执行有效,实现对不同的验证请求切换不同的智能合约至区块链进行执行业务数据,节省了区块链节点的存储空间以及运算负荷,同时在多个不同的片区区块链并行执行智能合约,提高了区块链对智能合约的处理效率,另外协调规范众多智能合约的管理并消除合约调用中潜在的安全隐患,保证区块链业务数据的顺利执行,其智能合约
存储安全性较高,且调用和交易验证安全性较高,应用范围广。
附图说明
[0041]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1是根据本专利技术实施例的一种区块链智能合约调用管理方法的流程示意图。
具体实施方式
[0043]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。
[0044]根据本专利技术的实施例,提供了一种区块链智能合约调用管理方法。
[0045]如图1所示,根据本专利技术实施例的区块链智能合约调用管理方法,包括以下步骤:
[0046]步骤S1,预先进行创建业务合约,用于区块链上数据业务的执行流程,允许业务数据相互之间存在调用关系;
[0047]步骤S2,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链智能合约调用管理方法,其特征在于,包括以下步骤:预先接收业务层发送的调用请求;进行解析所述调用请求,确定待调用的智能合约的函数接口,并从区块链中获取待调用的多个智能合约进行业务处理生成业务数据;基于不同的验证请求切换不同的业务数据至不同的片区区块链进行执行;对所述业务数据在所述区块链中的执行结果进行验证,若均验证通过则确定智能合约执行有效。2.根据权利要求1所述的区块链智能合约调用管理方法,其特征在于,步骤所述预先接收业务层发送的调用请求,包括以下步骤:预先进行创建业务合约,用于区块链上数据业务的执行流程,允许业务数据相互之间存在调用关系;进行创建控制合约,用于维护合约映射表,记录业务合约地址、外部接口和调用接口;进行将业务合约写入区块链,同时在控制合约进行注册。3.根据权利要求2所述的区块链智能合约调用管理方法,其特征在于,步骤所述进行将业务合约写入区块链,包括以下步骤:当前业务合约发生接口变更,业务合约向控制合约发送变更信息;控制合约更新合约映射表中业务合约的接口信息,并向因业务合约发生迭代而有待更新的其它业务合约推送业务合约更新后的接口信息;收到推送消息的其他业务合约进行相应的接口信息更新,并将更新后合约信息发送给控制合约;控制合约更新合约映射表中所述其他业务合约的合约信息。4.根据权利要求1所述的区块链智能合约...

【专利技术属性】
技术研发人员:简昌衍
申请(专利权)人:鼎链数字科技厦门有限公司
类型:发明
国别省市:

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

1