System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 智能合约的调用方法及装置制造方法及图纸_技高网

智能合约的调用方法及装置制造方法及图纸

技术编号:41326647 阅读:3 留言:0更新日期:2024-05-13 15:04
本说明书提供一种智能合约的调用方法及装置,所述方法包括:响应于获取到的区块链交易,确定所述区块链交易所指示调用的目标合约;其中,所述目标合约持有关联质押账户预先质押的剩余代扣燃料费,且所述剩余代扣燃料费存在对应的代扣权限描述信息;在基于所述代扣权限描述信息确定所述区块链交易的发起方账户具有代扣权限的情况下,从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合约所需的至少一部分合约燃料费,并完成所述区块链交易对所述目标合约的调用。

【技术实现步骤摘要】

本说明书实施例属于区块链,尤其涉及一种智能合约的调用方法及装置


技术介绍

1、区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。

2、区块链以交易(transaction)的形式实现相关功能和数据交互,而各个对象分别以对应的账户参与到交易中。账户的类型可以分为外部账户和合约账户等。外部账户通常由个人或机构所控制,并生成和发起交易。合约账户对应于区块链上的智能合约,智能合约是区块链上可以被交易触发执行的合约,智能合约通过代码的形式定义。

3、区块链中存在燃料费(gas)的机制,该机制要求交易在调用智能合约时,交易的发起方账户需要花费相应的燃料费,以此提高智能合约调用的门槛,防止对智能合约的随意调用。


技术实现思路

1、本说明书的目的在于提供一种智能合约的调用方法及装置。

2、根据本说明书一个或多个实施例的第一方面,提出了一种智能合约的调用方法,所述方法包括:

3、响应于获取到的区块链交易,确定所述区块链交易所指示调用的目标合约;其中,所述目标合约持有关联质押账户预先质押的剩余代扣燃料费,且所述剩余代扣燃料费存在对应的代扣权限描述信息;

4、在基于所述代扣权限描述信息确定所述区块链交易的发起方账户具有代扣权限的情况下,从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合约所需的至少一部分合约燃料费,并完成所述区块链交易对所述目标合约的调用。

5、根据本说明书一个或多个实施例的第二方面,提出了一种智能合约的调用装置,所述装置包括:

6、确定单元:响应于获取到的区块链交易,确定所述区块链交易所指示调用的目标合约;其中,所述目标合约持有关联质押账户预先质押的剩余代扣燃料费,且所述剩余代扣燃料费存在对应的代扣权限描述信息;

7、扣除单元:在基于所述代扣权限描述信息确定所述区块链交易的发起方账户具有代扣权限的情况下,从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合约所需的至少一部分合约燃料费,并完成所述区块链交易对所述目标合约的调用。

8、根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:

9、处理器;

10、用于存储处理器可执行指令的存储器;

11、其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。

12、根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。

13、在本说明书实施例中,并非从代扣账户处扣除合约燃料费,而是通过从目标合约持有的剩余代扣燃料费处扣除合约燃料费,由于该剩余代扣燃料费是关联质押账户预先质押于目标合约,为目标合约所持有,所以目标合约无需访问任何代扣账户,自身即可实现合约燃料费的代扣。一方面,由于无需访问任何代扣账户,也无需对代扣账户的余额是否满足合约燃料费仅需判定,简化了代扣的步骤,提升了代扣效率,从而提升智能合约的调用效率;另一方面,通过剩余代扣燃料费对应的代扣权限描述信息对区块链交易的发起方账户的代扣权限进行验证,使得不具有代扣权限的账户无法通过代扣方式调用目标合约,从而确保合约代扣的安全性。

本文档来自技高网...

【技术保护点】

1.一种智能合约的调用方法,所述方法包括:

2.根据权利要求1所述的方法,

3.根据权利要求1所述的方法,所述关联质押账户为所述区块链交易的发起方账户,或者区别于所述发起方账户的其他账户。

4.根据权利要求1所述的方法,所述代扣权限描述信息包括下述至少之一:具有代扣权限的账户集合、不具有代扣权限的账户集合、具有代扣权限的账户的特征描述信息、不具有代扣权限的账户的特征描述信息。

5.根据权利要求1所述的方法,所述代扣权限描述信息和所述剩余代扣燃料费维护于所述目标合约的合约账户中,或者维护于所述目标合约的合约账户所记载的关联方账户中。

6.根据权利要求5所述的方法,所述关联方账户包括下述至少之一:合约部署方、合约管理方。

7.根据权利要求5所述的方法,

8.根据权利要求1所述的方法,所述目标合约存在对应的多组剩余代扣燃料费及各组剩余代扣燃料费对应的代扣权限描述信息,所述从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合约所需的至少一部分合约燃料费,包括:

9.根据权利要求8所述的方法,从至少两组剩余代扣燃料费中扣除所述至少一部分合约燃料费,包括:

10.根据权利要求1所述的方法,所述从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合约所需的至少一部分合约燃料费,包括:

11.根据权利要求10所述的方法,所述从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合约所需的一部分合约燃料费,并从所述区块链交易的发起方账户的账户余额中扣除剩余部分的合约燃料费,包括:

12.根据权利要求1所述的方法,所述方法还包括:

13.根据权利要求1所述的方法,所述方法还包括:

14.根据权利要求1所述的方法,所述方法还包括:

15.一种智能合约的调用装置,所述装置包括:

16.一种电子设备,包括:

17.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-14中任一项所述方法的步骤。

...

【技术特征摘要】

1.一种智能合约的调用方法,所述方法包括:

2.根据权利要求1所述的方法,

3.根据权利要求1所述的方法,所述关联质押账户为所述区块链交易的发起方账户,或者区别于所述发起方账户的其他账户。

4.根据权利要求1所述的方法,所述代扣权限描述信息包括下述至少之一:具有代扣权限的账户集合、不具有代扣权限的账户集合、具有代扣权限的账户的特征描述信息、不具有代扣权限的账户的特征描述信息。

5.根据权利要求1所述的方法,所述代扣权限描述信息和所述剩余代扣燃料费维护于所述目标合约的合约账户中,或者维护于所述目标合约的合约账户所记载的关联方账户中。

6.根据权利要求5所述的方法,所述关联方账户包括下述至少之一:合约部署方、合约管理方。

7.根据权利要求5所述的方法,

8.根据权利要求1所述的方法,所述目标合约存在对应的多组剩余代扣燃料费及各组剩余代扣燃料费对应的代扣权限描述信息,所述从所述目标合约的剩余代扣燃料费中扣除所述区块链交易调用所述目标合...

【专利技术属性】
技术研发人员:陶友贤
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1