掌桥专利:专业的专利平台
掌桥专利
首页

智能合约操作管理方法、装置、设备和计算机存储介质

文献发布时间:2023-06-19 10:29:05


智能合约操作管理方法、装置、设备和计算机存储介质

技术领域

本申请涉及区块链技术领域,具体涉及一种智能合约操作管理方法、装置、设备和计算机存储介质。

背景技术

联盟链是针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由联盟链中所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该区块链开放的API进行限定查询。

目前联盟链上对智能合约的管理通常不做限制,拥有区块链调用权限的客户端可以任意部署智能合约,而对于已部署智能合约的更新、冻结及解冻操作,现有做法通常有两种:一是只允许智能合约部署者有权限进行操作;二是允许持有节点的全部联盟成员进行投票表决来操作;现有的智能合约相关操作的权限控制规则基本都是定死的规则,缺少灵活性;如果一份智能合约所服务的对象,不是一条联盟链的全部成员,要求联盟链的全部成员都要对智能合约的操作进行投票表决不合理。

发明内容

本申请提供一种智能合约操作管理方法、装置、设备和计算机存储介质,旨在解决由于现有联盟链中对智能合约操作管理根据固定的规则执行,使得智能合约操作管理缺少灵活性不合理的技术问题。

一方面,本申请提供一种智能合约操作管理方法,所述智能合约操作管理方法包括以下步骤:

接收合约更新请求,获取所述合约更新请求关联的目标提案;

将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

在本申请一些实施方案中,所述接收合约更新请求,获取所述合约更新请求关联的目标提案之前,所述方法包括:

接收合约创建请求,组织智能合约创建目标提案,其中,所述目标提案中包括投票准出规则、合约源代码、合约理事会成员地址列表和提案发起者签名;

将所述目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票;

采集所述联盟链中各个节点对所述目标提案的投票,统计所述投票的数量;

若所述投票的数量符合所述联盟链中预设的自身共识规则,则根据所述目标提案创建智能合约。

在本申请一些实施方案中,所述若所述投票的数量符合所述联盟链中预设的自身共识规则,则根据所述目标提案创建智能合约,包括:

若所述投票的数量符合所述联盟链中预设的自身共识规则,则提取所述目标提案中的投票准出规则、合约源代码和合约理事会成员地址列表;

将所述投票准出规则和所述合约源代码部署到合约存储区,并生成智能合约地址;

将所述合约理事会成员地址列表保存到所述合约存储区,将所述合约理事会成员地址列表与所述智能合约地址进行关联并添加所述提案发起者签名,完成智能合约创建。

在本申请一些实施方案中,所述接收合约创建请求,组织智能合约创建目标提案之后,所述方法包括:

提取所述目标提案中的提案发起者签名,判断预设异常名单中是否包含所述提案发起者签名;

若所述预设异常名单中包含所述提案发起者签名,则输出所述目标提案异常的提示信息;

若所述预设异常名单中不包含所述提案发起者签名,则执行所述将所述目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票步骤;

所述采集所述联盟链中各个节点对所述目标提案的投票,统计所述投票的数量之后,所述方法包括:

若所述投票的数量不符合所述联盟链中预设的自身共识规则,则将所述目标提案中的提案发起者签名添加到预设异常名单。

在本申请一些实施方案中,所述接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量,包括:

接收所述联盟链中各节点的投票,获取所述投票对应的投票人标签,并判断所述投票人标签对应的投票人是否为所述目标提案对应的合约理事会成员;

若所述投票人标签对应的投票人不是所述合约理事会成员,则将所述投票作为无效投票,并删除所述无效投票;

若所述投票人标签对应的投票人是所述合约理事会成员,则将所述投票作为有效投票,统计所述有效投票的数量。

在本申请一些实施方案中,

所述若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新,包括:

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则提取所述目标提案中的智能合约地址;

从所述智能合约地址处提取合约源代码,并将所述合约源代码更新为所述目标提案中的目标合约代码,完成智能合约更新。

在本申请一些实施方案中,所述若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新之后,所述方法包括:

接收合约状态调整请求,获取所述合约状态调整请求关联的目标提案;

将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的合约状态码进行智能合约冻结或解冻。

另一方面,本申请提供一种智能合约操作管理装置,所述智能合约操作管理装置包括:

提案获取模块,用于接收合约更新请求,获取所述合约更新请求关联的目标提案;

提案广播模块,用于将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

投票统计模块,用于接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

合约更新模块,用于若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

另一方面,本申请还提供一种智能合约操作管理设备,所述智能合约操作管理设备包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现所述的智能合约操作管理方法。

另一方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的智能合约操作管理方法中的步骤。

本申请实施例中接收合约更新请求,获取所述合约更新请求关联的目标提案;将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。本申请实施例中预先设置目标提案对应的合约理事会成员和投票准出规则,通过统计合约理事会成员对应的有效投票的数量,在有效投票的数量符合投票准出规则时进行智能合约更新,这样智能合约更新关联的目标提案广播之后,不需要联盟链的全部成员进行投票,同时按照目标提案对应的投票准出规则确定是否进行智能合约更新操作,使得智能合理的操作管理更加灵活合理。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的智能合约操作管理的场景示意图;

图2是本申请实施例中提供的智能合约操作管理方法的一个实施例流程示意图;

图3是本申请实施例中提供的智能合约操作管理方法中智能合约创建一个实施例的流程示意图;

图4是本申请实施例中提供的智能合约操作管理方法中对智能合约创建的发起者进行权限校验一个实施例的流程示意图;

图5是本申请实施例中提供的智能合约操作管理方法中智能合约状态调整一个实施例的流程示意图;

图6是本申请实施例中提供的智能合约操作管理装置的一个实施例结构示意图;

图7是本申请实施例中提供的智能合约操作管理设备的一个实施例结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明包含的范围。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

本申请实施例中提供一种智能合约操作管理方法、装置、设备及计算机存储介质,以下分别进行详细说明。

本发明实施例中的智能合约操作管理方法应用于智能合约操作管理装置,智能合约操作管理装置设置于智能合约操作管理设备,智能合约操作管理设备中设置有一个或多个处理器、存储器,以及一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现智能合约操作管理方法;智能合约操作管理设备可以是终端,例如,手机或平板电脑,智能合约操作管理设备还可以是一台服务器,或者多台服务器组成的服务集群。

如图1所示,图1为本申请实施例智能合约操作管理的场景示意图,本发明实施例中智能合约操作管理场景中包括智能合约操作管理设备100(智能合约操作管理设备100中集成有智能合约操作管理装置),智能合约操作管理设备100中运行智能合约操作管理对应的计算机存储介质,以执行智能合约操作管理的步骤。

可以理解的是,图1所示智能合约操作管理的场景中的智能合约操作管理设备,或者智能合约操作管理设备中包含的装置并不构成对本发明实施例的限制,即,智能合约操作管理的场景中包含的设备数量、设备种类,或者各个设备中包含的装置数量、装置种类不影响本发明实施例中技术方案整体实现,均可以算作本发明实施例要求保护技术方案的等效替换或衍生。

本发明实施例中智能合约操作管理设备100主要用于:

接收合约更新请求,获取所述合约更新请求关联的目标提案;

将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

本发明实施例中该智能合约操作管理设备100可以是独立的智能合约操作管理设备,也可以是智能合约操作管理设备组成的智能合约操作管理设备网络或智能合约操作管理设备集群,例如,本发明实施例中所描述的智能合约操作管理设备100,其包括但不限于计算机、网络主机、单个网络智能合约操作管理设备、多个网络智能合约操作管理设备集或多个智能合约操作管理设备构成的云智能合约操作管理设备。其中,云智能合约操作管理设备由基于云计算(Cloud Computing)的大量计算机或网络智能合约操作管理设备构成。

本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的智能合约操作管理设备,或者智能合约操作管理设备网络连接关系,例如图1中仅示出1个智能合约操作管理设备,可以理解的,该智能合约操作管理的场景还可以包括一个或多个其他智能合约操作管理设备,具体此处不作限定;该智能合约操作管理设备100中还可以包括存储器。

此外,本申请智能合约操作管理的场景中智能合约操作管理设备100可以设置显示装置,或者智能合约操作管理设备100中不设置显示装置与外接的显示装置200通讯连接,显示装置200用于输出智能合约操作管理设备中智能合约操作管理方法执行的结果。智能合约操作管理设备100可以访问后台数据库300(后台数据库可以是智能合约操作管理设备的本地存储器中,后台数据库还可以设置在云端),后台数据库300中保存有智能合约操作管理相关的信息。

需要说明的是,图1所示的智能合约操作管理的场景示意图仅仅是一个示例,本发明实施例描述的智能合约操作管理的场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定。

基于上述智能合约操作管理的场景,提出了智能合约操作管理方法的实施例。

参照图2,图2为本申请实施例中智能合约操作管理方法的一个实施例流程示意图,该智能合约操作管理方法包括步骤201-204:

201,接收合约更新请求,获取所述合约更新请求关联的目标提案。

本实施例中智能合约操作管理方法应用在智能合约操作管理设备,又叫节点设备,智能合约操作管理设备种类不作具体限定,例如,智能合约操作管理设备可以是终端或者服务器,本实施例中以终端为例进行说明。

终端接收合约更新请求,其中,合约更新请求可以是用户主动触发的,例如,用户点击终端显示界面上的“xxx更新”按键,主动触发合约更新请求;此外,合约更新请求还可以是终端自动触发的,例如,终端中预先设置合约更新请求的触发条件为:生成交易信息时;终端实时地监测交易信息变化情况,终端检测到生成交易信息时自动触发的合约更新请求;再例如,终端中预先设置合约更新请求的触发条件为:交易操作完成时;终端实时地监测交易信息的操作情况,终端检测到交易操作完成时,终端自动触发的合约更新请求。

终端接收合约更新请求之后,终端获取合约更新请求关联的目标提案,其中,目标提案中包括但不仅限于:目标合约代码、智能合约地址(智能合约地址是指初始的合约源代码的存储区域的地址信息)和更新提交人签名。

202,将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票。

终端获取合约更新请求关联的目标提案之后,终端将目标提案广播至联盟链的所有节点,联盟链中其他节点接收目标提案,并将目标提案存储至提案池,目标提案处于待投票状态,其他节点对应的用户可以查询提案池中的目标提案,其他节点对目标提案进行投票操作,其他节点将投票发送至终端,即,其他节点进行投票,其他节点获取目标提案中更新提交人标签,其他节点根据更新提交人标签将投票反馈至终端。

203,接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量。

终端接收联盟链中各节点的投票,终端获取目标提案中的智能合约地址,终端获取智能合约地址关联的合约理事会成员地址列表,终端判断投票是否为合约理事会成员地址列表中合约理事会成员的有效投票,终端提取合约理事会成员对应的有效投票,并统计有效投票的数量,以确定是否执行更新操作,具体地,包括:

步骤a1,接收所述联盟链中各节点的投票,获取所述投票对应的投票人标签,并判断所述投票人标签对应的投票人是否为所述目标提案对应的合约理事会成员;

步骤a2,若所述投票人标签对应的投票人不是所述合约理事会成员,则将所述投票作为无效投票,并删除所述无效投票;

步骤a3,若所述投票人标签对应的投票人是所述合约理事会成员,则将所述投票作为有效投票,统计所述有效投票的数量。

即,终端接收联盟链中各节点的投票,终端获取投票对应的投票人标签;终端获取目标提案中的智能合约地址,终端获取智能合约地址关联的合约理事会成员地址列表(合约理事会成员地址列表中包含合约理事会成员信息),终端判断投票人标签对应的投票人是否为目标提案对应的合约理事会成员;若投票人标签对应的投票人不是合约理事会成员,则终端将投票作为无效投票,终端删除无效投票;若投票人标签对应的投票人是合约理事会成员,终端则将投票作为有效投票,终端统计有效投票的数量。本实施例中终端根据投票关联的投票人标签,确定投票的有效性,这样可以使得智能合约操作管理更加具有针对性。

204,若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

本实施例中终端获取目标提案中的智能合约地址,终端获取智能合约地址对应的预设的投票准出规则(投票准出规则可以是智能合约创建时创建的,投票准出规则可以理解为投票通过规则,投票准出规则可以根据具体场景灵活设置,例如,投票准出规则为超过一半的合约理事会成员的投票,投票通过),若有效投票的数量符合目标提案中预设的投票准出规则,终端确定目标提案为有效提案,终端则按照目标提案中的目标合约代码进行智能合约更新;具体地,包括:

步骤b1,若所述有效投票的数量符合所述目标提案对应的投票准出规则,则提取所述目标提案中的智能合约地址;

步骤b2,从所述智能合约地址处提取合约源代码,并将所述合约源代码更新为所述目标提案中的目标合约代码,完成智能合约更新。

即,若有效投票的数量符合目标提案中预设的投票准出规则,终端则提取目标提案中的智能合约地址;终端从智能合约地址处提取合约源代码,终端将合约源代码替换为目标提案中的目标合约代码,完成智能合约更新。

本申请实施例接收合约更新请求,获取所述合约更新请求关联的目标提案;将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。本申请实施例中预先设置目标提案对应的合约理事会成员和投票准出规则,通过统计合约理事会成员对应的有效投票的数量,在有效投票的数量符合投票准出规则时进行智能合约更新,这样智能合约更新关联的目标提案广播之后,不需要联盟链的全部成员进行投票,同时按照目标提案对应的投票准出规则确定是否进行智能合约更新操作,使得智能合理的操作管理更加灵活合理。

参照图3,图3是本申请实施例中提供的智能合约操作管理方法中智能合约创建的一个实施例的流程示意图;

在本申请一些实施例中,智能合约操作管理方法中智能合约更新之前,需要预先创建智能合约,包括步骤301-304:

301,接收合约创建请求,组织智能合约创建目标提案,其中,所述目标提案中包括投票准出规则、合约源代码、合约理事会成员地址列表和提案发起者签名。

终端接收合约创建请求,其中,合约创建请求可以是用户主动触发的,例如,用户点击终端显示界面上的“xxx创建”按键,主动触发合约创建请求;此外,合约创建请求还可以是终端自动触发的,例如,终端中预先设置合约创建请求的触发条件为:交易信息更新时;终端实时地监测区块链中交易信息的变化情况,终端检测到区块链中交易信息更新时自动触发的合约创建请求。

终端接收合约创建请求之后,终端获取合约创建请求关联的目标提案,其中,目标提案中包括但不仅限于:合约源代码、智能合约地址(智能合约地址是指合约源代码的存储区域的地址信息)、合约理事会成员地址列表(合约理事会成员地址列表是指合约理事会成员地址汇总形成的列表)、投票准出规则(投票准出规则可以理解为投票通过规则,投票准出规则可以根据具体场景灵活设置,例如,投票准出规则为超过一半的合约理事会成员的投票,投票通过)和提案发起者签名。

302,将所述目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票。

终端将目标提案广播至联盟链中的所有节点,联盟链中的其他节点接收目标提案,并将目标提案存储至提案池,目标提案处于待投票状态,其他节点对应的用户可以查询提案池中的目标提案,其他节点对目标提案进行投票操作,并将投票发送至终端,即,其他节点进行投票,其他节点获取目标提案中提案发起者标签,其他节点根据提案发起者标签将投票反馈至终端。

303,采集所述联盟链中各个节点对所述目标提案的投票,统计所述投票的数量;

304,若所述投票的数量符合所述联盟链中预设的自身共识规则,则根据所述目标提案创建智能合约。

终端采集联盟链中各个节点对所述目标提案的投票,终端统计投票的数量,终端根据投票的数量确定是否创建智能合约,具体地,包括:

步骤c1,若所述投票的数量符合所述联盟链中预设的自身共识规则,则提取所述目标提案中的投票准出规则、合约源代码和合约理事会成员地址列表;

步骤c2,将所述投票准出规则和所述合约源代码部署到合约存储区,并生成智能合约地址;

步骤c3,将所述合约理事会成员地址列表保存到所述合约存储区,将所述合约理事会成员地址列表与所述智能合约地址进行关联并添加所述提案发起者签名,完成智能合约创建。

即,联盟链中预设的自身共识规则,终端采集联盟链中各个节点对目标提案的投票,终端统计投票的数量,终端判断投票的数量是否符合联盟链中预设的自身共识规则;若投票的数量符合联盟链中预设的自身共识规则,终端则提取所述目标提案中的投票准出规则、合约源代码和合约理事会成员地址列表;终端将投票准出规则和合约源代码部署到合约存储区,并生成智能合约地址;终端将合约理事会成员地址列表保存到合约存储区,终端将合约理事会成员地址列表与智能合约地址进行关联并添加提案发起者签名,完成智能合约创建。

本实施例中在智能合约创建时设置合约理事会成员和投票准出规则,后期可以根据合约理事会成员和投票准出规则进行智能合约操作管理,使得智能合约操作管理更加灵活合理。

参照图4,图4是本申请实施例中提供的智能合约操作管理方法中对智能合约创建的发起者进行权限校验一个实施例的流程示意图。

在本申请一些实施例中,智能合约操作管理方法中接收到合约创建请求之后,终端对合约创建的发起者进行权限校验,以确定是否执行智能合约创建操作,具体地,包括步骤401-403:

401,提取所述目标提案中的提案发起者签名,判断预设异常名单中是否包含所述提案发起者签名。

终端中预设异常名单,预设异常名单是指预先设置的没有智能合约更新权限的用户的信息,预设异常名单的设置方式可以根据具体场景灵活设置,终端提取目标提案中的提案发起者签名,终端判断预设异常名单中是否包含提案发起者签名。

402,若所述预设异常名单中包含所述提案发起者签名,则输出所述目标提案异常的提示信息。

403,若所述预设异常名单中不包含所述提案发起者签名,则执行所述将所述目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票步骤。

本实施例中若预设异常名单中包含提案发起者签名,终端判定提案发起者签名对应的发起者不具有智能合约创建权限,终端则输出目标提案异常的提示信息,使得用户查看;若预设异常名单中不包含提案发起者签名,终端判定提案发起者签名对应的发起者具有智能合约创建权限,终端则执行将目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票步骤。本实施例中设置异常名单可以避免没有操作权限的用户对创建智能合约,使得智能合约的操作管理更加安全。

可以理解的是,终端采集所述联盟链中各个节点对所述目标提案的投票,统计所述投票的数量之后,若所述投票的数量不符合所述联盟链中预设的自身共识规则,则将所述目标提案中的提案发起者签名添加到预设异常名单。本实施例中终端在投票没有通过时,终端将目标提案中的提案发起者签名添加到预设异常名单,可以实现异常名单的更新,使得智能合约创建管理更加严格。

参照图5,图5是本申请实施例中提供的智能合约操作管理方法中智能合约状态调整一个实施例的流程示意图。

在本申请一些实施例中,智能合约操作管理方法中终端可以对智能合约状态调整,具体地,包括步骤501-504:

501,接收合约状态调整请求,获取所述合约状态调整请求关联的目标提案;

502,将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

503,接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

504,若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的合约状态码进行智能合约冻结或解冻。

本实施例中终端接收合约状态调整请求,其中,合约状态调整请求可以是智能合约冻结请求和/或智能合约解冻请求,终端获取合约状态调整请求关联的目标提案,终端将目标提案广播至联盟链的所有节点,以使联盟链中各个节点对目标提案进行投票。

终端接收联盟链中各节点的投票,终端提取投票中目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;若有效投票的数量不符合目标提案中预设的投票准出规则,终端则不调整智能合约状态;若有效投票的数量符合所述目标提案中预设的投票准出规则,终端则按照目标提案中的合约状态码进行智能合约冻结或解冻。

本实施例中终端根据智能合约对应的合约理事会成员和投票准出规则,这样智能合约状态调整关联的目标提案广播之后,不需要全部的联盟链的全部成员进行投票,使得智能合理的操作管理更加合理,同时通过针对性地统计合约理事会成员对应的有效投票的数量,在有效投票的数量符合投票准出规则时进行智能合约状态调整,使得智能合约的操作管理更加灵活。

如图6所示,图6是智能合约操作管理装置的一个实施例结构示意图。

为了更好实施本申请实施例中智能合约操作管理方法,在智能合约操作管理方法基础之上,本申请实施例中还提供一种智能合约操作管理装置,所述智能合约操作管理装置包括:

提案获取模块601,用于接收合约更新请求,获取所述合约更新请求关联的目标提案;

提案广播模块602,用于将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

投票统计模块603,用于接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

合约更新模块604,用于若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

在本申请一些实施例中,所述智能合约操作管理装置,包括:

接收合约创建请求,组织智能合约创建目标提案,其中,所述目标提案中包括投票准出规则、合约源代码、合约理事会成员地址列表和提案发起者签名;

将所述目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票;

采集所述联盟链中各个节点对所述目标提案的投票,统计所述投票的数量;

若所述投票的数量符合所述联盟链中预设的自身共识规则,则根据所述目标提案创建智能合约。

在本申请一些实施例中,所述智能合约操作管理装置中所述若所述投票的数量符合所述联盟链中预设的自身共识规则,则根据所述目标提案创建智能合约,包括:

若所述投票的数量符合所述联盟链中预设的自身共识规则,则提取所述目标提案中的投票准出规则、合约源代码和合约理事会成员地址列表;

将所述投票准出规则和所述合约源代码部署到合约存储区,并生成智能合约地址;

将所述合约理事会成员地址列表保存到所述合约存储区,将所述合约理事会成员地址列表与所述智能合约地址进行关联并添加所述提案发起者签名,完成智能合约创建。

在本申请一些实施例中,所述智能合约操作管理装置,包括:

提取所述目标提案中的提案发起者签名,判断预设异常名单中是否包含所述提案发起者签名;

若所述预设异常名单中包含所述提案发起者签名,则输出所述目标提案异常的提示信息;

若所述预设异常名单中不包含所述提案发起者签名,则执行所述将所述目标提案广播至联盟链中的所有节点,以使所述联盟链中的各个节点对所述目标提案进行投票步骤;

所述采集所述联盟链中各个节点对所述目标提案的投票,统计所述投票的数量之后,包括:

若所述投票的数量不符合所述联盟链中预设的自身共识规则,则将所述目标提案中的提案发起者签名添加到预设异常名单。

在本申请一些实施例中,所述投票统计模块603,包括:

接收所述联盟链中各节点的投票,获取所述投票对应的投票人标签,并判断所述投票人标签对应的投票人是否为所述目标提案对应的合约理事会成员;

若所述投票人标签对应的投票人不是所述合约理事会成员,则将所述投票作为无效投票,并删除所述无效投票;

若所述投票人标签对应的投票人是所述合约理事会成员,则将所述投票作为有效投票,统计所述有效投票的数量。

在本申请一些实施例中,所述合约更新模块604,包括:

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则提取所述目标提案中的智能合约地址;

从所述智能合约地址处提取合约源代码,并将所述合约源代码更新为所述目标提案中的目标合约代码,完成智能合约更新。

在本申请一些实施例中,所述智能合约操作管理装置,包括:

接收合约状态调整请求,获取所述合约状态调整请求关联的目标提案;

将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的合约状态码进行智能合约冻结或解冻。

本申请实施例中智能合约操作管理装置接收合约更新请求,获取所述合约更新请求关联的目标提案;将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。本申请实施例中预先设置目标提案对应的合约理事会成员和投票准出规则,通过统计合约理事会成员对应的有效投票的数量,在有效投票的数量符合投票准出规则时进行智能合约更新,这样智能合约更新关联的目标提案广播之后,不需要联盟链的全部成员进行投票,同时按照目标提案对应的投票准出规则确定是否进行智能合约更新操作,使得智能合理的操作管理更加灵活合理。

本发明实施例还提供一种智能合约操作管理设备,如图7所示,图7是本申请实施例中提供的智能合约操作管理设备的一个实施例结构示意图。

智能合约操作管理设备集成了本发明实施例所提供的任一种智能合约操作管理装置,所述智能合约操作管理设备包括:

一个或多个处理器;

存储器;以及

一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述智能合约操作管理方法实施例中任一实施例中所述的智能合约操作管理方法中的步骤。

具体来讲:智能合约操作管理设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图7中示出的智能合约操作管理设备结构并不构成对智能合约操作管理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器701是该智能合约操作管理设备的控制中心,利用各种接口和线路连接整个智能合约操作管理设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行智能合约操作管理设备的各种功能和处理数据,从而对智能合约操作管理设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。

存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能合约操作管理设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。

智能合约操作管理设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该智能合约操作管理设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,智能合约操作管理设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,智能合约操作管理设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:

接收合约更新请求,获取所述合约更新请求关联的目标提案;

将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种计算机存储介质,该计算机存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种智能合约操作管理方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:

接收合约更新请求,获取所述合约更新请求关联的目标提案;

将所述目标提案广播至联盟链的所有节点,以使所述联盟链中各个节点对所述目标提案进行投票;

接收所述联盟链中各节点的投票,提取所述投票中所述目标提案对应合约理事会成员的有效投票,并统计所述有效投票的数量;

若所述有效投票的数量符合所述目标提案对应的投票准出规则,则按照所述目标提案中的目标合约代码进行智能合约更新。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。

具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种智能合约操作管理方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 智能合约操作管理方法、装置、设备和计算机存储介质
  • 区块链智能合约管理方法与装置、电子设备、存储介质
技术分类

06120112568809