一键部署区块链智能合约的方法、装置、电子设备及介质制造方法及图纸

技术编号:28870831 阅读:15 留言:0更新日期:2021-06-15 23:03
本公开提供了一种由运维装置执行的一键部署区块链智能合约的方法。上述运维装置能够通过预先定义的接口访问区块链节点。上述方法包括:接收区块链智能合约的部署请求,上述部署请求包括以下信息:待部署智能合约的身份标识信息、待部署智能合约的版本号和待部署区块链节点;根据上述待部署智能合约的身份标识信息和版本号获取上述待部署智能合约的存储路径;根据上述待部署智能合约的存储路径调用上述待部署智能合约至上述待部署区块链节点;以及根据上述待部署区块链节点的智能合约的运行状态在上述待部署区块链节点部署上述待部署智能合约。本公开还涉及一种装置、电子设备、计算机可读存储介质以及计算机程序产品。

【技术实现步骤摘要】
一键部署区块链智能合约的方法、装置、电子设备及介质
本公开涉及区块链
,更具体地,涉及一种一键部署区块链智能合约的方法、装置、电子设备及介质。
技术介绍
随着区块链技术越来越成熟,国内外企业都在争相进行区块链网络的研究与落地。区块链的核心概念就是一套去中心化的分布式数据库。区块链包括公有区块联、私有区块链和联盟区块链,联盟区块链可以简称为联盟链,是一种以达成小范围共识为目标的信任网络,常用于解决跨组织的数据信任问题。以联盟链作为区块链的示例,不同的联盟链可能会有截然不同的业务方案以及相应的鉴权逻辑,因此为了最大程度的保障区块链能支持各种不同的业务需求便产生了“智能合约”这一概念。智能合约根据逻辑编写和运作,只要满足智能合约中约定的条件,智能合约中的义务将在约定好的区块链节点中被执行。现有智能合约为采用开发语言编写的一套代码逻辑,其可能支持Go、Java、Node等相关语言的编写和开发。智能合约的出现可以使得数据进入区块链的逻辑变得更加灵活,因此智能合约也是区块链必备的元素之一。针对不同业务,采用的智能合约也是不同的,另外,针对同一个业务,随着业务发展的需要,对智能合约也会进行版本更新。在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下问题:在对区块链节点部署智能合约的过程中,通常采用命令行的方式进行部署操作,这种方式具有操作繁琐、易出错、需要频繁手动停止正在启用的智能合约,对正在进行中的业务可能造成较高频率间断性操作等缺陷。
技术实现思路
有鉴于此,本公开提供了一种一键部署区块链智能合约的方法、装置、电子设备及介质。本公开的第一个方面提供了一种由运维装置执行的一键部署区块链智能合约的方法。上述运维装置能够通过预先定义的接口访问区块链节点。上述一键部署区块链智能合约的方法包括:接收区块链智能合约的部署请求,上述部署请求包括以下信息:待部署智能合约的身份标识信息、待部署智能合约的版本号和待部署区块链节点;根据上述待部署智能合约的身份标识信息和版本号获取上述待部署智能合约的存储路径;根据上述待部署智能合约的存储路径调用上述待部署智能合约至上述待部署区块链节点;以及根据上述待部署区块链节点的智能合约的运行状态在上述待部署区块链节点部署上述待部署智能合约。根据本公开的实施例,上述方法还包括:接收用于指定第一目标区块链用户和第一目标客户端证书的请求。上述第一目标区块链用户用于访问上述待部署区块链节点,以实施区块链智能合约部署的操作,上述第一目标客户端证书对上述待部署区块链节点具有安全访问权限。上述根据上述待部署区块链节点的智能合约的运行状态在上述待部署区块链节点部署上述待部署智能合约,包括:上述第一目标区块链用户基于上述第一目标客户端证书访问上述待部署区块链节点,并根据上述待部署区块链节点的智能合约的运行状态在上述待部署区块链节点部署上述待部署智能合约。根据本公开的实施例,上述接收用于指定第一目标区块链用户和第一目标客户端证书的请求,包括:接收用户从预先创建好的第一区块链用户选择列表和第一客户端证书选择列表中选定第一目标区块链用户及第一目标客户端证书的请求;其中,上述第一区块链用户选择列表所提供的区块链用户在上述待部署区块链节点具有实施区块链智能合约部署操作的权限,上述第一客户端证书选择列表所提供的客户端证书对上述待部署区块链节点具有安全访问权限,上述第一第一客户端证书选择列表中的客户端证书与上述第一区块链用户选择列表中的区块链用户之间具有一对一或多对一的绑定关系。或者,上述接收用于指定第一目标区块链用户和第一目标客户端证书的请求,包括:接收用户创建区块链用户和创建客户端证书,以及绑定所创建的区块链用户和所创建的客户端证书的请求,上述所创建的区块链用户为上述第一目标区块链用户,与上述所创建的区块链用户绑定的客户端证书为上述第一目标客户端证书;其中,上述所创建的区块链用户在上述待部署区块链节点具有实施区块链智能合约部署操作的权限,上述所创建的客户端证书对上述待部署区块链节点具有安全访问权限。根据本公开的实施例,上述根据上述待部署区块链节点的智能合约的运行状态在上述待部署区块链节点部署上述待部署智能合约,包括:检测上述待部署区块链节点是否存在处于运行状态的智能合约;在上述待部署区块链节点存在处于运行状态的智能合约的情况下,停用上述待部署区块链节点中处于运行状态的智能合约;在上述处于运行状态的智能合约被成功停用的情况下,在上述待部署区块链节点部署上述待部署智能合约;在上述待部署区块链节点不存在处于运行状态的智能合约的情况下,在上述待部署区块链节点部署上述待部署智能合约。根据本公开的实施例,上述方法还包括:接收已部署智能合约的版本替换请求,上述版本替换请求包括以下信息:用于替换已部署智能合约的替换智能合约的身份标识信息、替换智能合约的版本号和待替换区块链节点;根据上述替换智能合约的身份标识信息和版本号获取上述替换智能合约的存储路径;根据上述替换智能合约的存储路径调用上述替换智能合约至上述待替换区块链节点;以及根据上述待替换区块链节点的智能合约的运行状态部署上述替换智能合约。根据本公开的实施例,上述方法还包括:接收用于指定第二目标区块链用户和第二目标客户端证书的请求。上述第二目标区块链用户用于访问上述待替换区块链节点,以实施区块链智能合约版本替换的操作,上述第二目标客户端证书对上述待替换区块链节点具有安全访问权限。上述根据上述待替换区块链节点的智能合约的运行状态部署上述替换智能合约,包括:上述第二目标区块链用户基于上述第二目标客户端证书访问上述待替换区块链节点,并根据上述待替换区块链节点的智能合约的运行状态在上述待替换区块链节点部署上述替换智能合约。根据本公开的实施例,上述接收用于指定第二目标区块链用户和第二目标客户端证书的请求,包括:接收用户从预先创建好的第二区块链用户选择列表和第二客户端证书选择列表中选定第二目标区块链用户及第二目标客户端证书的请求;其中,上述第二区块链用户选择列表所提供的区块链用户在上述待替换区块链节点具有实施区块链智能合约部署操作的权限,上述第二客户端证书选择列表所提供的客户端证书对上述待替换区块链节点具有安全访问权限,上述第二客户端证书选择列表中的客户端证书与上述第二区块链用户选择列表中的区块链用户之间具有一对一或多对一的绑定关系。或者,上述接收用于指定第二目标区块链用户和第二目标客户端证书的请求,包括:接收用户创建区块链用户和创建客户端证书,以及绑定所创建的区块链用户和所创建的客户端证书的请求,上述所创建的区块链用户为上述第二目标区块链用户,与上述所创建的区块链用户绑定的客户端证书为上述第二目标客户端证书;其中,上述所创建的区块链用户在上述待替换区块链节点具有实施区块链智能合约部署操作的权限,上述所创建的客户端证书对上述待替换区块链节点具有安全访问权限。根据本公开的实施例,上述根据上述待替换区块链节点的智能合约的运行状态部署上述替换智能合约,包括:检测上述待替换区块链节点是否存在处于运行状态的智能合约;在上述待替换区块链节点存在处本文档来自技高网...

【技术保护点】
1.一种由运维装置执行的一键部署区块链智能合约的方法,所述运维装置能够通过预先定义的接口访问区块链节点,所述方法包括:/n接收区块链智能合约的部署请求,所述部署请求包括以下信息:待部署智能合约的身份标识信息、待部署智能合约的版本号和待部署区块链节点;/n根据所述待部署智能合约的身份标识信息和版本号获取所述待部署智能合约的存储路径;/n根据所述待部署智能合约的存储路径调用所述待部署智能合约至所述待部署区块链节点;以及/n根据所述待部署区块链节点的智能合约的运行状态在所述待部署区块链节点部署所述待部署智能合约。/n

【技术特征摘要】
1.一种由运维装置执行的一键部署区块链智能合约的方法,所述运维装置能够通过预先定义的接口访问区块链节点,所述方法包括:
接收区块链智能合约的部署请求,所述部署请求包括以下信息:待部署智能合约的身份标识信息、待部署智能合约的版本号和待部署区块链节点;
根据所述待部署智能合约的身份标识信息和版本号获取所述待部署智能合约的存储路径;
根据所述待部署智能合约的存储路径调用所述待部署智能合约至所述待部署区块链节点;以及
根据所述待部署区块链节点的智能合约的运行状态在所述待部署区块链节点部署所述待部署智能合约。


2.根据权利要求1所述的方法,还包括:
接收用于指定第一目标区块链用户和第一目标客户端证书的请求;所述第一目标区块链用户用于访问所述待部署区块链节点,以实施区块链智能合约部署的操作,所述第一目标客户端证书对所述待部署区块链节点具有安全访问权限;
所述根据所述待部署区块链节点的智能合约的运行状态在所述待部署区块链节点部署所述待部署智能合约,包括:
所述第一目标区块链用户基于所述第一目标客户端证书访问所述待部署区块链节点,并根据所述待部署区块链节点的智能合约的运行状态在所述待部署区块链节点部署所述待部署智能合约。


3.根据权利要求2所述的方法,其中,所述接收用于指定第一目标区块链用户和第一目标客户端证书的请求,包括:
接收用户从预先创建好的第一区块链用户选择列表和第一客户端证书选择列表中选定第一目标区块链用户及第一目标客户端证书的请求;其中,所述第一区块链用户选择列表所提供的区块链用户在所述待部署区块链节点具有实施区块链智能合约部署操作的权限,所述第一客户端证书选择列表所提供的客户端证书对所述待部署区块链节点具有安全访问权限,所述第一第一客户端证书选择列表中的客户端证书与所述第一区块链用户选择列表中的区块链用户之间具有一对一或多对一的绑定关系;或者,
接收用户创建区块链用户和创建客户端证书,以及绑定所创建的区块链用户和所创建的客户端证书的请求,所述所创建的区块链用户为所述第一目标区块链用户,与所述所创建的区块链用户绑定的客户端证书为所述第一目标客户端证书;其中,所述所创建的区块链用户在所述待部署区块链节点具有实施区块链智能合约部署操作的权限,所述所创建的客户端证书对所述待部署区块链节点具有安全访问权限。


4.根据权利要求1所述的方法,所述根据所述待部署区块链节点的智能合约的运行状态在所述待部署区块链节点部署所述待部署智能合约,包括:
检测所述待部署区块链节点是否存在处于运行状态的智能合约;
在所述待部署区块链节点存在处于运行状态的智能合约的情况下,停用所述待部署区块链节点中处于运行状态的智能合约;
在所述处于运行状态的智能合约被成功停用的情况下,在所述待部署区块链节点部署所述待部署智能合约;
在所述待部署区块链节点不存在处于运行状态的智能合约的情况下,在所述待部署区块链节点部署所述待部署智能合约。


5.根据权利要求1所述的方法,还包括:
接收已部署智能合约的版本替换请求,所述版本替换请求包括以下信息:用于替换已部署智能合约的替换智能合约的身份标识信息、替换智能合约的版本号和待替换区块链节点;
根据所述替换智能合约的身份标识信息和版本号获取所述替换智能合约的存储路径;
根据所述替换智能合约的存储路径调用所述替换智能合约至所述待替换区块链节点;以及
根据所述待替换区块链节点的智能合约的运行状态部署所述替换智能合约。


6.根据权利要求5所述的方法,还包括:
接收用于指定第二目标区块链用户和第二目标客户端证书的请求,所述第二目标区块链用户用于访问所述待替换区块链节点,以实施区块链智能合约版本替换的操作,所述第二目...

【专利技术属性】
技术研发人员:李鹏飞杨毅张紫薇
申请(专利权)人:工银科技有限公司中国工商银行股份有限公司
类型:发明
国别省市:河北;13

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

1