CN110933189A - 基于Fabric的区块链网络部署方法、装置、设备和介质 - Google Patents

基于Fabric的区块链网络部署方法、装置、设备和介质 Download PDF

Info

Publication number
CN110933189A
CN110933189A CN202010083617.XA CN202010083617A CN110933189A CN 110933189 A CN110933189 A CN 110933189A CN 202010083617 A CN202010083617 A CN 202010083617A CN 110933189 A CN110933189 A CN 110933189A
Authority
CN
China
Prior art keywords
node
service
fabric
node device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010083617.XA
Other languages
English (en)
Inventor
李岗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qidi Block Chain Technology Development Co ltd
Original Assignee
Beijing Qidi Block Chain Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qidi Block Chain Technology Development Co ltd filed Critical Beijing Qidi Block Chain Technology Development Co ltd
Priority to CN202010083617.XA priority Critical patent/CN110933189A/zh
Publication of CN110933189A publication Critical patent/CN110933189A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种基于Fabric的区块链网络部署方法、装置、设备和介质。其中,该方法包括:调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,信息包括IP地址和区块链版本信息;至少根据各个节点设备的IP地址,分别为每个节点设备生成节点配置文件;控制目标节点设备,将区块链版本信息更新为与目标Fabric版本信息匹配的信息;基于每个节点设备中与目标Fabric版本信息相匹配的区块链版本信息、以及每个节点设备的节点配置文件,将每个节点设备中的节点服务加入区块链网络。本发明实施例提供对外开放的部署接口API,能够通过调用API在节点设备上达到快速部署Fabric网络的效果,有效提高了部署Fabric网络的时效性。

Description

基于Fabric的区块链网络部署方法、装置、设备和介质
技术领域
本发明实施例涉及区块链技术,尤其涉及一种基于Fabric的区块链网络部署方法、装置、设备和介质。
背景技术
目前,基于Fabric的区块链网络部署,主要是通过工作人员将Fabric官方提供的相关工具包和配置文件拷贝到各台服务器上,然后再通过工作人员手动配置每台服务器的host文件的映射,以及执行相关的指令来完成创建。
上述方案的缺陷在于:整个部署过程耗费的时间和人力成本较高,而且当Fabric版本与服务器内部区块链运行的基础环境信息不一致,需要工作人员手动进行基础环境版本的选择与更新,否则导致部署过程失败。
发明内容
本发明实施例提供一种基于Fabric的区块链网络部署方法、装置、设备和介质,可以解决人工手动部署区块链网络繁琐的问题,实现区块链网络部署的高效性。
第一方面,本发明实施例提供了一种基于Fabric的区块链网络部署方法,包括:
调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,所述信息包括IP地址和区块链版本信息;
至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,所述节点配置文件用于区块链网络中不同节点之间的相互发现;
如果所述各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制所述目标节点设备,将区块链版本信息更新为与所述目标Fabric版本信息匹配的信息;
基于所述每个节点设备中与所述目标Fabric版本信息相匹配的区块链版本信息、以及所述每个节点设备的节点配置文件,将所述每个节点设备中的节点服务加入区块链网络。
第二方面,本发明实施例提供了一种基于Fabric的区块链网络部署装置,包括:
获取模块,用于调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,所述信息包括IP地址和区块链版本信息;
生成模块,用于至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,所述节点配置文件用于区块链网络中不同节点之间的相互发现;
更新模块,用于如果所述各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制所述目标节点设备,将区块链版本信息更新为与所述目标Fabric版本信息匹配的信息;
加入模块,用于基于所述每个节点设备中与所述目标Fabric版本信息相匹配的区块链版本信息、以及所述每个节点设备的节点配置文件,将所述每个节点设备中的节点服务加入区块链网络。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中的任一种所述的基于Fabric的区块链网络部署方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中的任一种所述的基于Fabric的区块链网络部署方法。
本发明实施例调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,信息包括IP地址和区块链版本信息;至少根据各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,节点配置文件用于区块链网络中不同节点之间的相互发现;如果各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制目标节点设备,将区块链版本信息更新为与目标Fabric版本信息匹配的信息;基于每个节点设备中与目标Fabric版本信息相匹配的区块链版本信息、以及每个节点设备的节点配置文件,将每个节点设备中的节点服务加入区块链网络。本发明实施例解决了传统部署Fabric网络时需要手动操作导致部署过程繁琐的问题,提供了对外开放的部署接口API,能够通过调用API在节点设备上达到快速部署Fabric网络的效果,有效提高了部署Fabric网络的时效性。
附图说明
图1是本发明实施例一中的基于Fabric的区块链网络部署方法的流程示意图;
图2是本发明实施例二中的基于Fabric的区块链网络部署方法的流程示意图;
图3是本发明实施例三中的基于Fabric的区块链网络部署装置的流程示意图;
图4是本发明实施例四中的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中的基于Fabric的区块链网络部署方法的流程示意图。本实施例可适用于通过调用部署接口,在节点设备上快速部署Fabric网络的情况。本实施例方法可由基于Fabric的区块链网络部署装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于任意的具有计算能力的电子设备中,例如能够用于执行本实施例方法的服务器等,下文以服务器为例,对本实施例方法进行示例性说明。如图1所示,该方法具体包括如下:
S110、调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,信息包括IP地址和区块链版本信息。
在本实施例中,预先配置的信息获取模板是通过大量指令执行配置得到,其中,大量指令实现例如,通过将部署Fabric的执行命令进行模块化整理为shell脚本中的方法,并且方法中都通过参数代入的方式或者根据用户的输入设置变量的方式去动态执行的,将这些指令写入本实施例方法中根据参数或者变量动态替换,减少了重复代码的编写,将一系列指令替换成一个方法去执行。配置可以是将所有构件Fabric的配置进行模板式处理,将变化的信息通过环境变量(例如.env变量)的方式指定,配置信息中可以指定变量的名字,后续运行时只需通过变量名在.env文件中读取到对应的值进行替换即可,能够有效减少重复操作。其中,获取的待部署的各个节点设备的信息对应信息获取模板中的变量,信息获取模板具有通用性。
为了降低用户手动搭建Fabric网络的复杂度,已提前将搭建过程和涉及的组件按照流程配置完毕,并进行封装,在各个组件封装完成后,还提供了一套对外的部署接口API(Application Programming Interface,应用程序接口),其中,API部署整个Fabric网络,可以访问到各个待部署节点设备上进行部署操作。用户通过服务器调用API就能够在不同的电子设备或者服务器上搭建基于Fabric的区块链服务;因此,用户想要在各自的节点设备上构建Fabric网络时,通过调用API将核心内容进行替换传入,就能够实现Fabric网络的快速搭建,减少重复的命令和配置文件的执行操作。同时,通过root账户名、密码以及节点设备的外网地址,能够直接通过远程命令登录到节点设备上进行Fabric网络的构建。
一台拥有IP地址的节点设备可以提供许多服务,比如peer服务和orderer服务等,这些服务完全可以通过1个IP(Internet Protocol,网络之间互连的协议)地址来实现,因为IP 地址与各个网络服务(peer服务和orderer服务)的关系是一对多的关系;但是,在访问具体的服务时,显然运用IP地址难以直接访问到对应的服务上,因此,需给节点设备中的各个服务分配相应的端口号,使得能够根据IP地址+端口号直接对相应服务进行访问。其中,peer服务是属于各个组织的,主要用来进行智能合约的安装和交易;orderer服务是属于联盟(若干个组织自发组织的一个集体)的,主要是用来对所有组织的交易进行排序,并根据排序结果生成区块。
S120、至少根据各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,节点配置文件用于区块链网络中不同节点之间的相互发现。
在本实施例中,节点配置文件为访问对应节点设备时的重要服务资源信息,其中记录了该节点设备中的服务域名(例如组织域名和联盟域名)与节点设备IP地址的对应关系;在访问区块链网络中的某一节点设备时,能够通过节点配置文件实现各个不同节点之间的相互发现,有效提高了访问节点设备的节点服务时的访问效率。
S130、如果各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制目标节点设备,将区块链版本信息更新为与目标Fabric版本信息匹配的信息。
在本实施例中,在节点设备上搭建Fabric网络时,须保证节点设备中的区块链版本信息与需要搭建的Fabric版本信息一致,才能有效实现在节点设备上搭建Fabric网络的目的。在搭建Fabric网络时,首先,需要识别出对应节点设备中是否安装有Fabric必备环境,若识别结果显示,该节点设备中不存在Fabric必备环境,则直接下载安装对应的Fabric必备环境;若识别出节点设备中的Fabric版本与所需安装的Fabric版本不一致,则将原Fabric版本升级为对应的Fabric版本。
若节点设备中有相关环境,查看版本号的时候会直接显示当前的Fabric版本号;若没有相关环境,则会提示未找到Fabric的相关环境。根据查看Fabric版本号的结果去判断是否存在必备环境。示例性的,判断是否有docker容器。首先可以通过执行dockerversion命令,如果有,则会返回本节点设备的docker版本信息;如果没有会提示:commandnot found,程序根据结果进行判断识别。
S140、基于每个节点设备中与目标Fabric版本信息相匹配的区块链版本信息、以及每个节点设备的节点配置文件,将每个节点设备中的节点服务加入区块链网络。
在本实施例中,节点设备上部署完相应的Fabric网络后,将每个节点设备中的节点服务加入区块链网络,使得区块链网络中各个节点设备的节点服务之间能够得到相互通信,从而实现各个节点设备中节点服务的有效交易。其中,每个节点设备中具有多个节点服务。
本发明实施例调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,信息包括IP地址和区块链版本信息;至少根据各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,节点配置文件用于区块链网络中不同节点之间的相互发现;如果各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制目标节点设备,将区块链版本信息更新为与目标Fabric版本信息匹配的信息;基于每个节点设备中与目标Fabric版本信息相匹配的区块链版本信息、以及每个节点设备的节点配置文件,将每个节点设备中的节点服务加入区块链网络。本发明实施例解决了传统部署Fabric网络时需要手动操作导致部署过程繁琐的问题,提供了对外开放的部署接口API,能够通过调用API在节点设备上达到快速部署Fabric网络的效果,有效提高了部署Fabric网络的时效性。
实施例二
图2是本发明实施例二中的基于Fabric的区块链网络部署方法的流程示意图。本实施例是在上述实施例的基础上进一步扩展与优化,并可与上述技术方案中任意可选方案组合。如图2所示,该方法包括:
S210、调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,信息包括IP地址和区块链版本信息。
S220、获取区块链网络的联盟域名和每个节点设备对应的组织名,并根据联盟域名和组织名生成每个节点设备对应的组织域名。
在本实施例中,联盟域名为Fabric网络中的各个服务节点之间进行访问的一个域名,可以通过用户自定义获得。因为Fabric网络是一个集群,每一个部署Fabric网络的节点设备都可以看作是Fabric网络中的一个成员,每个Fabric成员如果要参与到整个Fabric网络中,则需要通过唯一的域名进行相互访问通信,通信的时候就是通过自定义的域名(即联盟域名)进行访问的。其中,联盟域名属于节点设备中orderer服务的自定义域名。
然而,节点设备中还包括peer服务,组织域名属于节点设备中peer服务的相应域名;可以通过联盟域名和组织名生成一个peer服务的组织域名。例如,组织名为org,联盟域名为example.com,则根据联盟域名和组织名生成的组织域名为:org.example.com。其中,组织名还可以用来生成对应组织的证书,例如CA(Certification Authority,CA证书),用以根据该证书验证对应组织的身份信息。
S230、根据每个节点设备的IP地址、组织域名以及区块链网络的联盟域名,分别为每个节点设备生成节点配置文件。
在本实施例中,一个IP地址可以同时对应多个服务,但通过IP地址不能直接访问到节点设备中的某一个具体服务中;因此,需要建立IP地址与节点设备中各个服务之间的对应关系,使得根据该对应关系实现节点设备中不同服务的有效访问。
具体的,节点配置文件中分别存储着IP地址和组织域名的对应关系,或者,IP地址和联盟域名的对应关系;首先,需要访问节点设备中某一服务时,首先需要根据IP地址查找到该节点设备,然后获取该服务域名,以得到与该服务域名对应的服务端口号,进而实现对该服务的访问。例如,需要访问的服务是某一节点设备中的peer服务,则根据该节点设备的IP地址查找到节点设备,再获取该节点设备中peer服务的组织域名,并根据该组织域名对应的服务端口号实现访问。
S240、如果各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制目标节点设备,将区块链版本信息更新为与目标Fabric版本信息匹配的信息。
S250、基于每个节点设备中与目标Fabric版本信息相匹配的区块链版本信息、以及每个节点设备的节点配置文件,将每个节点设备中的节点服务加入区块链网络。
可选的,在将每个节点设备中的节点服务加入区块链网络之后,本实施例方法还包括:
确定区块链网络中的主节点服务;
向主节点服务发送通道创建指令,以指示主节点服务创建至少一个通道,其中,通道创建指令中包括待创建的每个通道的名称、以及加入每个通道的成员节点设备的联盟域名;
在至少一个通道创建完成后,向主节点服务发送测试指令,以指示主节点服务利用预先部署的测试控件,在至少一个通道内进行交易测试;
根据主节点服务返回的各交易测试的结果,确定区块链网络是否部署成功。
在本实施例中,Fabric网络搭建成功后,为了验证Fabric区块链服务是否可用,需要对搭建的Fabric网络进行交易测试。首先,在该Fabric网络上执行创建通道命令,可以基于主节点服务接收创建通道命令创建至少一个交易通道;只有加入到该通道的组织才可以进行相互交易;接着在对应的组织的peer服务上安装智能合约,安装完智能合约后可进行初始化智能合约操作,将智能合约实例化到该通道,接着模拟各个组织进行交易,并通过测试控件实现交易测试,若交易成功则表示Fabric网络搭建成功;若失败,则会进行报错。其中,主节点服务可以根据用户输入的信息列表中的第一组作为默认的组织,这个组织上的peer服务即为主节点服务;测试控件是根据Fabric测试工具包生成的。
创建通道时,默认都是在主节点服务上创建的。创建通道前需要通过环境变量去指定当前创建通道的peer服务是谁,并且指定peer服务的证书识别当前peer服务的身份;指定完毕后该peer服务会去执行创建命令,指定orderer服务的联盟域名、orderer服务的证书位置和创建的通道的名称去创建通道。
可选的,在向主节点服务发送通道创建指令之前,本实施例方法还包括:
获取主节点服务的授权证书,并根据该授权证书验证主节点服务的身份是否合法;
相应的,在向主节点服务发送通道创建指令之后,本实施例方法还包括:
向主节点服务发送成员节点设备的授权证书的存储位置信息,以使得主节点服务根据存储位置信息获取授权证书,并验证成员节点设备的身份否合法。
在本实施例中,区块链网络中的成员身份都是经过合法认证的,具体可以通过成员节点设备的授权证书验证其身份信息;本实施例中对各个成员节点设备的身份信息进行验证,能够有效保证区块链网络中的网络安全性,极大提高了各个节点设备进行交易的可靠性。
可选的,在确定区块链网络中的主节点服务之后,本实施例方法还包括:
在主节点服务上部署监测控件,监测控件用于监测区块链网络的信息,其中,区块链网络的信息包括以下至少一种:交易信息、智能合约、节点设备的数量、以及节点设备的运行状态信息。
在本实施例中,主节点服务进行部署监测控件(例如Fabric浏览器Fabricexplorer)对该Fabric网络集群进行监控和分析,部署完成后将直接返回Fabric explorer的访问路径。在主节点服务部署Fabric explorer后会监控Fabric网络中所有的orderer服务和该节点服务加入的通道内的一切信息。实际上Fabric explorer所有监控的内容是以该节点服务加入的通道为单位的;例如可以监控该节点服务加入的通道内的其他peer服务、交易信息、网络接点、智能合约以及区块信息。
可选的,在将每个节点设备中的节点服务加入区块链网络之后,本实施例方法还包括:
如果获取到新节点服务的加入请求,则利用Fabric证书生成控件为新节点服务生成授权证书;
根据新节点服务的服务端口号,为新节点服务生成节点配置文件;
基于新节点服务的授权证书、节点配置文件、以及与目标Fabric版本信息匹配的区块链版本信息,将新节点服务加入区块链网络。
在本实施例中,如果用户需要对Fabric集群的服务进行扩展,可以通过直接调用新增节点的API实现。具体的,可以根据Fabric CA自动生成证书,通过启动对应的Fabric容器服务,加入到对应的已经存在的Fabric网络集群中,待加入成功后,可以在Fabricexplorer中可以实施查看加入的节点服务的信息。其中,Fabric容器服务的启动原理为,将每个服务打包成一个镜像文件包,然后通过一个配置文件去拉取对应的镜像文件,执行启动这个服务(即容器服务),避免了需要手动下载服务安装包以及配置相关环境去启动服务的复杂过程,只需通过执行一个配置文件就可以将服务运行起来,进一步提高了Fabric网络的部署效率。
本发明实施例通过根据每个节点设备的IP地址、组织域名以及区块链网络的联盟域名,分别为每个节点设备生成节点配置文件,有效实现了IP地址与各个服务之间的对应关系;在Fabric网络部署完成后,自动选取主节点服务创建通道验证Fabric网络部署是否成功,并部署Fabric explorer监控整个Fabric网络的信息,实现实时掌握Fabric网络的信息。
实施例三
图3是本发明实施例三中的基于Fabric的区块链网络部署装置的流程示意图,本实施例可适用于通过调用部署接口,在节点设备上快速部署Fabric网络的情况。该装置配置于电子设备中,可实现本申请任意实施例所述的基于Fabric的区块链网络部署方法。该装置具体包括如下:
获取模块310,用于调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,所述信息包括IP地址和区块链版本信息;
生成模块320,用于至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,所述节点配置文件用于区块链网络中不同节点之间的相互发现;
更新模块330,用于如果所述各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制所述目标节点设备,将区块链版本信息更新为与所述目标Fabric版本信息匹配的信息;
加入模块340,用于基于所述每个节点设备中与所述目标Fabric版本信息相匹配的区块链版本信息、以及所述每个节点设备的节点配置文件,将所述每个节点设备中的节点服务加入区块链网络。
可选的,生成模块320,还用于获取所述区块链网络的联盟域名和所述每个节点设备对应的组织名,并根据所述联盟域名和所述组织名生成所述每个节点设备对应的组织域名。
可选的,生成模块320,具体用于:
根据所述每个节点设备的IP地址、组织域名以及所述区块链网络的联盟域名,分别为所述每个节点设备生成节点配置文件。
可选的,本实施例装置还包括:
确定模块,用于确定所述区块链网络中的主节点服务;
创建模块,用于向所述主节点服务发送通道创建指令,以指示所述主节点服务创建至少一个通道,其中,所述通道创建指令中包括待创建的每个通道的名称、以及加入每个通道的成员节点设备的联盟域名;
测试模块,用于在所述至少一个通道创建完成后,向所述主节点服务发送测试指令,以指示所述主节点服务利用预先部署的测试控件,在所述至少一个通道内进行交易测试;
确定模块,还用于根据所述主节点服务返回的各交易测试的结果,确定所述区块链网络是否部署成功。
可选的,本实施例装置还包括:
验证模块,用于获取所述主节点服务的授权证书,并根据该授权证书验证所述主节点服务的身份是否合法;
验证模块,还用于向所述主节点服务发送所述成员节点设备的授权证书的存储位置信息,以使得所述主节点服务根据所述存储位置信息获取授权证书,并验证所述成员节点设备的身份否合法。
可选的,本实施例装置还包括:
监测模块,用于在所述主节点服务上部署监测控件,所述监测控件用于监测所述区块链网络的信息,其中,所述区块链网络的信息包括以下至少一种:交易信息、智能合约、节点设备的数量、以及节点设备的运行状态信息。
可选的,生成模块320,还用于如果获取到新节点服务的加入请求,则利用Fabric证书生成控件为所述新节点服务生成授权证书;
生成模块320,还用于根据所述新节点服务的服务端口号,为所述新节点服务生成节点配置文件;
加入模块340,还用于基于所述新节点服务的授权证书、节点配置文件、以及与所述目标Fabric版本信息匹配的区块链版本信息,将所述新节点服务加入所述区块链网络。
通过本发明实施例三的基于Fabric的区块链网络部署装置,能够解决传统部署Fabric网络时需要手动操作导致部署过程繁琐的问题,并提供了对外开放的部署接口API,能够通过调用API在节点设备上达到快速部署Fabric网络的效果,有效提高了部署Fabric网络的时效性。
本发明实施例所提供的基于Fabric的区块链网络部署装置可执行本发明任意实施例所提供的基于Fabric的区块链网络部署方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四中的电子设备的结构示意图,如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于Fabric的区块链网络部署方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现本发明实施例所提供的基于Fabric的区块链网络部署方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘、鼠标等。输出装置440可包括显示屏等显示设备。
实施例五
本实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现本发明实施例所提供的基于Fabric的区块链网络部署方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于Fabric的区块链网络部署方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于Fabric的区块链网络部署方法,其特征在于,所述方法包括:
调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,所述信息包括IP地址和区块链版本信息;
至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,所述节点配置文件用于区块链网络中不同节点之间的相互发现;
如果所述各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制所述目标节点设备,将区块链版本信息更新为与所述目标Fabric版本信息匹配的信息;
基于所述每个节点设备中与所述目标Fabric版本信息相匹配的区块链版本信息、以及所述每个节点设备的节点配置文件,将所述每个节点设备中的节点服务加入区块链网络。
2.根据权利要求1所述的方法,其特征在于,在至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件之前,包括:
获取所述区块链网络的联盟域名和所述每个节点设备对应的组织名,并根据所述联盟域名和所述组织名生成所述每个节点设备对应的组织域名。
3.根据权利要求2所述的方法,其特征在于,至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,包括:
根据所述每个节点设备的IP地址、组织域名以及所述区块链网络的联盟域名,分别为所述每个节点设备生成节点配置文件。
4.根据权利要求1所述的方法,其特征在于,在将所述每个节点设备中的节点服务加入区块链网络之后,所述方法还包括:
确定所述区块链网络中的主节点服务;
向所述主节点服务发送通道创建指令,以指示所述主节点服务创建至少一个通道,其中,所述通道创建指令中包括待创建的每个通道的名称、以及加入每个通道的成员节点设备的联盟域名;
在所述至少一个通道创建完成后,向所述主节点服务发送测试指令,以指示所述主节点服务利用预先部署的测试控件,在所述至少一个通道内进行交易测试;
根据所述主节点服务返回的各交易测试的结果,确定所述区块链网络是否部署成功。
5.根据权利要求4所述的方法,其特征在于,在向所述主节点服务发送通道创建指令之前,所述方法还包括:
获取所述主节点服务的授权证书,并根据该授权证书验证所述主节点服务的身份是否合法;
相应的,在向所述主节点服务发送通道创建指令之后,所述方法还包括:
向所述主节点服务发送所述成员节点设备的授权证书的存储位置信息,以使得所述主节点服务根据所述存储位置信息获取授权证书,并验证所述成员节点设备的身份否合法。
6.根据权利要求4所述的方法,其特征在于,在确定所述区块链网络中的主节点服务之后,所述方法还包括:
在所述主节点服务上部署监测控件,所述监测控件用于监测所述区块链网络的信息,其中,所述区块链网络的信息包括以下至少一种:交易信息、智能合约、节点设备的数量、以及节点设备的运行状态信息。
7.根据权利要求1所述的方法,其特征在于,在所述将所述每个节点设备中的节点服务加入区块链网络之后,所述方法还包括:
如果获取到新节点服务的加入请求,则利用Fabric证书生成控件为所述新节点服务生成授权证书;
根据所述新节点服务的IP地址,为所述新节点服务生成节点配置文件;
基于所述新节点服务的授权证书、节点配置文件、以及与所述目标Fabric版本信息匹配的区块链版本信息,将所述新节点服务加入所述区块链网络。
8.一种基于Fabric的区块链网络部署装置,其特征在于,所述装置包括:
获取模块,用于调用部署接口,通过预先配置的信息获取模板,获取待部署的各个节点设备的信息,其中,所述信息包括IP地址和区块链版本信息;
生成模块,用于至少根据所述各个节点设备的IP地址,分别为每个节点设备生成节点配置文件,其中,所述节点配置文件用于区块链网络中不同节点之间的相互发现;
更新模块,用于如果所述各个节点设备中存在区块链版本信息和目标Fabric版本信息不匹配的目标节点设备,则控制所述目标节点设备,将区块链版本信息更新为与所述目标Fabric版本信息匹配的信息;
加入模块,用于基于所述每个节点设备中与所述目标Fabric版本信息相匹配的区块链版本信息、以及所述每个节点设备的节点配置文件,将所述每个节点设备中的节点服务加入区块链网络。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1~7中任一所述的基于Fabric的区块链网络部署方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任一所述的基于Fabric的区块链网络部署方法。
CN202010083617.XA 2020-02-10 2020-02-10 基于Fabric的区块链网络部署方法、装置、设备和介质 Pending CN110933189A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010083617.XA CN110933189A (zh) 2020-02-10 2020-02-10 基于Fabric的区块链网络部署方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010083617.XA CN110933189A (zh) 2020-02-10 2020-02-10 基于Fabric的区块链网络部署方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN110933189A true CN110933189A (zh) 2020-03-27

Family

ID=69854705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010083617.XA Pending CN110933189A (zh) 2020-02-10 2020-02-10 基于Fabric的区块链网络部署方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN110933189A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651171A (zh) * 2020-06-05 2020-09-11 中国银行股份有限公司 接口版本部署的方法及装置、电子设备及存储介质
CN111800464A (zh) * 2020-06-02 2020-10-20 苏宁金融科技(南京)有限公司 支持多版本超级账本的BaaS系统实现方法及装置
CN111935251A (zh) * 2020-07-28 2020-11-13 成都质数斯达克科技有限公司 区块链网络管理方法、网络、装置、设备及存储介质
CN111930347A (zh) * 2020-07-24 2020-11-13 联想(北京)有限公司 一种网络创建方法及装置、电子设备
CN112073247A (zh) * 2020-09-10 2020-12-11 工银科技有限公司 区块链网络部署方法、装置、计算机系统和介质
CN112732677A (zh) * 2021-01-12 2021-04-30 成都库珀区块链科技有限公司 区块链节点部署方法、装置、设备及存储介质
CN113674126A (zh) * 2021-08-25 2021-11-19 上海卓繁信息技术股份有限公司 一种基于区块链的政务信息处理方法、装置和电子设备
CN114172671A (zh) * 2020-08-19 2022-03-11 北京金山云网络技术有限公司 加入区块链的方法及装置
CN116974649A (zh) * 2023-08-25 2023-10-31 中国电子技术标准化研究院华东分院 基于Go语言以及ChaosBlade的区块链自动部署及混沌测试的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080076386A1 (en) * 2006-09-22 2008-03-27 Amit Khetawat Method and apparatus for preventing theft of service in a communication system
CN107911421A (zh) * 2017-10-30 2018-04-13 上海点融信息科技有限责任公司 用于配置区块链中跨网络通信的方法、设备和计算机存储介质
CN109976774A (zh) * 2019-04-11 2019-07-05 北京启迪区块链科技发展有限公司 区块链节点部署方法、装置、设备和存储介质
CN110268677A (zh) * 2018-11-16 2019-09-20 阿里巴巴集团控股有限公司 在区块链系统中使用域名方案进行跨链交互
CN110308962A (zh) * 2019-07-04 2019-10-08 明链科技(深圳)有限公司 管理区块链网络的方法、电子设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080076386A1 (en) * 2006-09-22 2008-03-27 Amit Khetawat Method and apparatus for preventing theft of service in a communication system
CN107911421A (zh) * 2017-10-30 2018-04-13 上海点融信息科技有限责任公司 用于配置区块链中跨网络通信的方法、设备和计算机存储介质
CN110268677A (zh) * 2018-11-16 2019-09-20 阿里巴巴集团控股有限公司 在区块链系统中使用域名方案进行跨链交互
CN109976774A (zh) * 2019-04-11 2019-07-05 北京启迪区块链科技发展有限公司 区块链节点部署方法、装置、设备和存储介质
CN110308962A (zh) * 2019-07-04 2019-10-08 明链科技(深圳)有限公司 管理区块链网络的方法、电子设备及介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800464A (zh) * 2020-06-02 2020-10-20 苏宁金融科技(南京)有限公司 支持多版本超级账本的BaaS系统实现方法及装置
CN111800464B (zh) * 2020-06-02 2022-09-09 苏宁金融科技(南京)有限公司 支持多版本超级账本的BaaS系统实现方法及装置
CN111651171A (zh) * 2020-06-05 2020-09-11 中国银行股份有限公司 接口版本部署的方法及装置、电子设备及存储介质
CN111651171B (zh) * 2020-06-05 2023-03-31 中国银行股份有限公司 接口版本部署的方法及装置、电子设备及存储介质
CN111930347B (zh) * 2020-07-24 2022-05-31 联想(北京)有限公司 一种网络创建方法及装置、电子设备
CN111930347A (zh) * 2020-07-24 2020-11-13 联想(北京)有限公司 一种网络创建方法及装置、电子设备
CN111935251B (zh) * 2020-07-28 2021-11-05 成都质数斯达克科技有限公司 区块链网络管理方法、网络、装置、设备及存储介质
CN111935251A (zh) * 2020-07-28 2020-11-13 成都质数斯达克科技有限公司 区块链网络管理方法、网络、装置、设备及存储介质
CN114172671A (zh) * 2020-08-19 2022-03-11 北京金山云网络技术有限公司 加入区块链的方法及装置
CN112073247A (zh) * 2020-09-10 2020-12-11 工银科技有限公司 区块链网络部署方法、装置、计算机系统和介质
CN112732677A (zh) * 2021-01-12 2021-04-30 成都库珀区块链科技有限公司 区块链节点部署方法、装置、设备及存储介质
CN112732677B (zh) * 2021-01-12 2023-10-13 库珀科技集团有限公司 区块链节点部署方法、装置、设备及存储介质
CN113674126A (zh) * 2021-08-25 2021-11-19 上海卓繁信息技术股份有限公司 一种基于区块链的政务信息处理方法、装置和电子设备
CN116974649A (zh) * 2023-08-25 2023-10-31 中国电子技术标准化研究院华东分院 基于Go语言以及ChaosBlade的区块链自动部署及混沌测试的方法及装置
CN116974649B (zh) * 2023-08-25 2024-02-13 中国电子技术标准化研究院华东分院 基于Go语言以及ChaosBlade的区块链自动部署及混沌测试的方法及装置

Similar Documents

Publication Publication Date Title
CN110933189A (zh) 基于Fabric的区块链网络部署方法、装置、设备和介质
CN108536519B (zh) 自动搭建Kubernetes主节点的方法及终端设备
CN108549580B (zh) 自动部署Kubernetes从节点的方法及终端设备
US11431558B2 (en) Data shipper agent management and configuration systems and methods
CN108804618B (zh) 数据库配置方法、装置、计算机设备和存储介质
CN108845808B (zh) 中间件安装方法、装置、计算机设备及存储介质
CN112631614B (zh) 应用部署方法、装置、计算机设备和存储介质
CN110535654B (zh) 基于区块链的并行系统部署方法、装置和计算机设备
CN105786564A (zh) 一种Oracle的自动化定制安装部署方法
WO2018209958A1 (zh) 可升级文件的升级方法、机顶盒和存储介质
CN109726134B (zh) 接口测试方法和系统
CN111596932B (zh) 一种镜像文件生成方法、装置和计算机可读存储介质
CN111831567B (zh) 应用的测试环境配置方法、装置、系统和介质
CN110780918B (zh) 中间件容器处理方法、装置、电子设备及存储介质
CN106301855B (zh) 一种网络管理系统部署方法、装置和网络管理系统
CN112579997B (zh) 一种用户权限配置方法、装置、计算机设备及存储介质
CN113168333A (zh) 受协调设备环境的工作流配置
CN112272190B (zh) 一种数据访问方法和装置
CN111935195B (zh) 分布式系统管理方法、装置、存储介质和分布式管理系统
CN112559352A (zh) 接口测试的方法、装置、设备及存储介质
CN111461718A (zh) 区块链节点的接入方法、装置及系统
CN115658221A (zh) 状态检测方法、业务虚拟机、设备及介质
US20140351643A1 (en) Smart terminal fuzzing apparatus and method using multi-node structure
CN111367840B (zh) 一种实现即插即用的方法和装置
CN114356387A (zh) 一种流程自动化方法、用于实现流程自动化的设备和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200327