System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,特别是涉及一种智能合约的调用处理方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、区块链是分布式账本技术的一种形式,区块链得到了广泛的关注和应用。随着区块链上的数据交互日益频繁,智能合约的应用也越来越广泛,智能合约是可以由相互不信任的节点组成的网络共同执行的程序,这些节点实现了一种协商一致的协议,并以数字方式强制执行。
2、相关技术中,在区块链上部署的智能合约可以直接执行,也可以被调用执行,但智能合约在被执行的过程中,存在可靠性较低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高智能合约执行的可靠性的智能合约的调用处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种智能合约的调用处理方法。所述方法包括:
3、响应于针对区块链上目标智能合约的调用请求,从所述区块链上代理合约中注册的智能合约地址中,查询所述目标智能合约的链上地址;
4、基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,并确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间;
5、将所述目标智能合约的执行返回值和处理后的业务数据信息存储至所述目标存储空间;
6、基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果。
7、第二方面,本申
8、地址查询模块,用于响应于针对区块链上目标智能合约的调用请求,从所述区块链上代理合约中注册的智能合约地址中,查询所述目标智能合约的链上地址;
9、智能合约调用模块,用于基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,并确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间;
10、数据存储模块,用于将所述目标智能合约的执行返回值和处理后的业务数据信息存储至所述目标存储空间;
11、调用验证模块,用于基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果。
12、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
13、响应于针对区块链上目标智能合约的调用请求,从所述区块链上代理合约中注册的智能合约地址中,查询所述目标智能合约的链上地址;
14、基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,并确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间;
15、将所述目标智能合约的执行返回值和处理后的业务数据信息存储至所述目标存储空间;
16、基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果。
17、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
18、响应于针对区块链上目标智能合约的调用请求,从所述区块链上代理合约中注册的智能合约地址中,查询所述目标智能合约的链上地址;
19、基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,并确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间;
20、将所述目标智能合约的执行返回值和处理后的业务数据信息存储至所述目标存储空间;
21、基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果。
22、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
23、响应于针对区块链上目标智能合约的调用请求,从所述区块链上代理合约中注册的智能合约地址中,查询所述目标智能合约的链上地址;
24、基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,并确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间;
25、将所述目标智能合约的执行返回值和处理后的业务数据信息存储至所述目标存储空间;
26、基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果。
27、上述智能合约的调用处理方法、装置、计算机设备、存储介质和计算机程序产品,通过响应于针对区块链上目标智能合约的调用请求,从区块链上代理合约中注册的智能合约地址中,查询目标智能合约的链上地址,基于目标智能合约的链上地址,调用目标智能合约执行业务数据处理,以通过代理合约对目标智能合约的调用来执行目标智能合约,通过确定目标智能合约在代理合约的合约存储中的目标存储空间,来存储目标智能合约的执行返回值和处理后的业务数据信息,在代理合约的合约存储中,实现对智能合约的处理结果的集中存储,能其中目标智能合约的执行返回值可以用于验证目标智能合约是否调用成功,业务数据信息可以用于验证目标智能合约是否正确执行,进而从智能合约的调用和智能合约的执行两方面来进行验证,提高目标智能合约调用执行的可靠性。
本文档来自技高网...【技术保护点】
1.一种智能合约的调用处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果,包括:
3.根据权利要求1所述的方法,其特征在于,所述对比结果包括所述执行返回值与所述期望执行结果中的期望返回值的第一对比结果,以及所述处理后的业务数据信息与所述期望执行结果中的期望业务数据信息的第二对比结果;
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,包括:
5.根据权利要求1所述的方法,其特征在于,所述确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间,包括:
6.根据权利要求5所述的方法,其特征在于,所述通过调用执行所述目标智能合约中的字节码,对所述代理合约的合约存储进行存储空间修改,包括:
7.根据权利要求1所述的方法,其特征在于,所述响应于针对区块链上目标智能合约的调用请求,从所述区块链
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述业务数据处理为数字藏品交易;所述方法还包括:
11.一种智能合约的调用处理装置,其特征在于,所述装置包括:
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种智能合约的调用处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述代理合约的合约存储中存储的执行返回值和业务数据信息,对所述目标智能合约进行调用验证,得到所述目标智能合约的调用验证结果,包括:
3.根据权利要求1所述的方法,其特征在于,所述对比结果包括所述执行返回值与所述期望执行结果中的期望返回值的第一对比结果,以及所述处理后的业务数据信息与所述期望执行结果中的期望业务数据信息的第二对比结果;
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标智能合约的链上地址,调用所述目标智能合约执行业务数据处理,包括:
5.根据权利要求1所述的方法,其特征在于,所述确定所述目标智能合约在所述代理合约的合约存储中的目标存储空间,包括:
6.根据权利要求5所述的方法,其特征在于,所述通过调用执行所述目标智能合约中的字节码,对所述代理合约的合约存储进行存储空间修改,包括:
7.根据权利要求1所述的方法,其特征在于...
【专利技术属性】
技术研发人员:陈自民,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。