一种基于智能合约的函数访问权限控制方法及装置制造方法及图纸

技术编号:34895689 阅读:13 留言:0更新日期:2022-09-10 13:55
本申请公开了一种基于智能合约的函数访问权限控制方法,包括:获取角色配置信息,角色配置信息包括角色和角色状态,进一步地,获取合约函数配置信息,合约函数配置信息包括为角色配置的、角色具备访问权限的至少一个合约函数、以及至少一个合约函数对应的合约地址,至少一个合约函数,为对区块链数据进行处理的函数。获取角色配置信息和合约函数配置信息之后,可以基于角色配置信息和合约函数配置信息,生成针对角色的函数访问权限控制智能合约。由此可见,本方案通过对角色进行权限配置,控制了该角色对区块链数据的访问权限,从而实现了对区块链数据进行有效隔离,提高了区块链数据访问的可控性,保证了区块链数据的安全。保证了区块链数据的安全。保证了区块链数据的安全。

【技术实现步骤摘要】
一种基于智能合约的函数访问权限控制方法及装置


[0001]本申请涉及区块链领域,特别是涉及一种基于智能合约的函数访问权限控制方法及装置。

技术介绍

[0002]随着区块链技术的发展,智能合约广受青睐。智能合约是一种自我验证、无需中介、自动执行合约条款的计算机交易协议。智能合约具有去中心化、去信任、可编程、不可篡改等特性,可以灵活地嵌入到各种数据和资产中,从而实现安全高效地交换信息、转移价值和管理资产。
[0003]目前,在基于区块链的应用系统中,开发者可通过编写各个业务对应的智能合约。但是,随着区块链技术在互联网应用中的推广使用,保证区块链数据的安全尤为重要。
[0004]如何保证区块链数据的安全,是目前尚待解决的问题。

技术实现思路

[0005]本申请所要解决的技术问题是如何保证区块链数据的安全,提供一种基于智能合约的函数访问权限控制方法及装置。
[0006]第一方面,本申请实施例提供了一种基于智能合约的函数访问权限控制方法,所述方法包括:
[0007]获取角色配置信息,所述角色配置信息包括角色和角色状态;
[0008]获取合约函数配置信息,所述合约函数配置信息包括:为所述角色配置的、所述角色具备访问权限的至少一个合约函数、以及所述至少一个合约函数对应的合约地址,所述至少一个合约函数,为对区块链数据进行处理的函数;
[0009]基于所述角色配置信息和所述合约函数配置信息,生成针对所述角色的函数访问权限控制智能合约。
[0010]可选的,所述至少一个合约函数,为目标智能合约中的合约函数,所述至少一个合约函数对应的合约地址,为所述目标智能合约的合约地址。
[0011]可选的,所述基于所述角色配置信息和所述合约函数配置信息,生成针对所述角色的函数访问权限控制智能合约,包括:
[0012]对所述至少一个合约函数的初始函数名称进行预设类型的变换,得到所述至少一个合约函数的目标函数名称,所述至少一个合约函数的初始函数名称,为所述至少一个合约函数在所述目标智能合约中的函数名称;
[0013]基于所述角色配置信息、所述至少一个合约函数的目标函数名称、以及所述至少一个合约函数对应的合约地址,生成所述函数访问权限控制智能合约。
[0014]可选的,所述获取角色配置信息,包括:
[0015]获取用户输入的所述角色配置信息。
[0016]可选的,所述获取合约函数配置信息,包括:
[0017]获取用户输入的所述至少一个合约函数的标识信息,以及,
[0018]获取预先存储的所述目标智能合约对应的合约地址。
[0019]第二方面,本申请实施例提供了一种基于智能合约的函数访问权限控制装置,所述装置包括:
[0020]第一获取单元,用于获取角色配置信息,所述角色配置信息包括角色和角色状态;
[0021]第二获取单元,用于获取合约函数配置信息,所述合约函数配置信息包括:为所述角色配置的、所述角色具备访问权限的至少一个合约函数、以及所述至少一个合约函数对应的合约地址,所述至少一个合约函数,为对区块链数据进行处理的函数;
[0022]生成单元,用于基于所述角色配置信息和所述合约函数配置信息,生成针对所述角色的函数访问权限控制智能合约。
[0023]可选的,所述至少一个合约函数,为目标智能合约中的合约函数,所述至少一个合约函数对应的合约地址,为所述目标智能合约的合约地址。
[0024]可选的,所述生成单元,用于:
[0025]对所述至少一个合约函数的初始函数名称进行预设类型的变换,得到所述至少一个合约函数的目标函数名称,所述至少一个合约函数的初始函数名称,为所述至少一个合约函数在所述目标智能合约中的函数名称;
[0026]基于所述角色配置信息、所述至少一个合约函数的目标函数名称、以及所述至少一个合约函数对应的合约地址,生成所述函数访问权限控制智能合约。
[0027]可选的,所述第一获取单元,用于:
[0028]获取用户输入的所述角色配置信息。
[0029]可选的,所述第二获取单元,用于:
[0030]获取用户输入的所述至少一个合约函数的标识信息,以及,
[0031]获取预先存储的所述目标智能合约对应的合约地址。
[0032]与现有技术相比,本申请实施例具有以下优点:
[0033]本申请实施例提供了一种基于智能合约的函数访问权限控制方法,包括:获取角色配置信息,所述角色配置信息包括角色和角色状态,进一步地,获取合约函数配置信息,所述合约函数配置信息包括为所述角色配置的、所述角色具备访问权限的至少一个合约函数、以及所述至少一个合约函数对应的合约地址,所述至少一个合约函数,为对区块链数据进行处理的函数。获取所述角色配置信息和所述合约函数配置信息之后,可以基于所述角色配置信息和所述合约函数配置信息,生成针对所述角色的函数访问权限控制智能合约。由此可见,在本申请实施例中,可以为角色配置其可以访问的、对区块链数据进行处理的至少一个合约函数。通过对所述角色进行权限配置,控制了该角色对区块链数据的访问权限,从而实现了对区块链数据进行有效隔离,提高了区块链数据访问的可控性,保证了区块链数据的安全。另外,本方案还可以实现区块链数据与具体业务逻辑解耦,提升了智能合约的研发效率。
附图说明
[0034]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本申请实施例提供的一种基于智能合约的函数访问权限控制方法的流程示意图;
[0036]图2为本申请实施例提供的一种生成针对所述角色的函数访问权限控制智能合约的方法的流程示意图;
[0037]图3为本申请实施例提供的一种基于智能合约的函数访问权限控制装置的结构示意图。
具体实施方式
[0038]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]下面结合附图,详细说明本申请的各种非限制性实施方式。
[0040]示例性方法
[0041]参见图1,该图为本申请实施例提供的一种基于智能合约的函数访问权限控制方法的流程示意图。在本实施例中,图1所示的方法可以由终端设备执行,也可以由服务器执行,本申请实施例不做具体限定。
[0042]在一个示例中,所述方法例如可以包括以下步骤:S101

S103。
[0043]S10本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于智能合约的函数访问权限控制方法,其特征在于,所述方法包括:获取角色配置信息,所述角色配置信息包括角色和角色状态;获取合约函数配置信息,所述合约函数配置信息包括:为所述角色配置的、所述角色具备访问权限的至少一个合约函数、以及所述至少一个合约函数对应的合约地址,所述至少一个合约函数,为对区块链数据进行处理的函数;基于所述角色配置信息和所述合约函数配置信息,生成针对所述角色的函数访问权限控制智能合约。2.根据权利要求1所述的方法,其特征在于,所述至少一个合约函数,为目标智能合约中的合约函数,所述至少一个合约函数对应的合约地址,为所述目标智能合约的合约地址。3.根据权利要求2所述的方法,其特征在于,所述基于所述角色配置信息和所述合约函数配置信息,生成针对所述角色的函数访问权限控制智能合约,包括:对所述至少一个合约函数的初始函数名称进行预设类型的变换,得到所述至少一个合约函数的目标函数名称,所述至少一个合约函数的初始函数名称,为所述至少一个合约函数在所述目标智能合约中的函数名称;基于所述角色配置信息、所述至少一个合约函数的目标函数名称、以及所述至少一个合约函数对应的合约地址,生成所述函数访问权限控制智能合约。4.根据权利要求1所述的方法,其特征在于,所述获取角色配置信息,包括:获取用户输入的所述角色配置信息。5.根据权利要求2所述的方法,其特征在于,所述获取合约函数配置信息,包括:获取用户输入的所述至少一个合约函数的标识信息,以及,获取预先存储的所述目标智能合约对应的合约...

【专利技术属性】
技术研发人员:董华吴殿丞延安刘爽张健
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

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

1