区块链网络组网方法、装置、设备及可读存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种区块链网络组网方法、装置、设备及可读存储介质。
背景技术
随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被记录在一个云***之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。
区块链技术通常基于P2P(Peer to Peer,对等网络),现有技术中基于区块链的组网方法为基于云服务的组网方法,由云服务平台将参与方的证书、地址、联盟链成员的证书管理(Membership Service Provider,简称MSP)信息等配置信息分发到其他参与方,并组建网络;但是采用中心化机制,组网过程依赖于作为中心的云服务平台,组网过程不透明、不可信。
发明内容
本发明实施例提供一种区块链网络组网方法、装置、设备及可读存储介质,用以解决现有技术中基于区块链的组网方法采用中心化机制,组网过程依赖于作为中心的云服务平台,组网过程不透明、不可信的问题。
本发明实施例的一个方面是提供一种区块链网络组网方法,包括:
第一参与方设备生成自身的MSP信息;
所述第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息;
在接收到发起组网指令时,所述第一参与方设备获取初始区块配置信息,并将所述初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据所述初始区块配置信息配置本地节点信息并启动本地节点;
所述第一参与方设备获取本地节点配置信息,并根据所述本地节点配置信息完成本地节点的配置;
所述第一参与方设备启动本地节点。
本发明实施例的另一个方面是提供一种区块链网络组网装置,包括:
MSP信息生成模块,用于第一参与方设备生成自身的MSP信息;
MSP信息交换模块,用于所述第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息;
初始区块配置模块,用于在接收到发起组网指令时,所述第一参与方设备获取初始区块配置信息,并将所述初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据所述初始区块配置信息配置本地节点信息并启动本地节点;
本地节点配置模块,用于所述第一参与方设备获取本地节点配置信息,并根据所述本地节点配置信息完成本地节点的配置;
启动模块,用于所述第一参与方设备启动本地节点。
本发明实施例的另一个方面是提供一种区块链网络组网设备,包括:
存储器,处理器,以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现上述所述的方法。
本发明实施例的另一个方面是提供一种计算机可读存储介质,存储有计算机程序,
所述计算机程序被处理器执行时实现上述所述的方法。
本发明实施例提供的区块链网络组网方法、装置、设备及可读存储介质,通过第一参与方设备生成自身的MSP信息;第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息;在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点;第一参与方设备根据自身的MSP信息、其他参与方设备的MSP信息、以及初始区块配置信息,配置本地节点信息;第一参与方设备启动本地节点,来完成区块链网络组网,由各个参与方设备自行生成自身的MSP信息并共享给其他参与方,无需中心服务器,由各个参与方设备共同参与完成区块链网络的组网,实现了去中心化的组网,组网过程更加透明,更加可信。
附图说明
图1为本发明实施例一提供的区块链网络组网方法流程图;
图2为本发明实施例二提供的区块链网络组网方法流程图;
图3为本发明实施例三提供的区块链网络组网方法流程图;
图4为本发明实施例四提供的区块链网络组网装置的结构示意图;
图5为本发明实施例六提供的区块链网络组网装置的结构示意图;
图6为本发明实施例七提供的区块链网络组网设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。
本发明实施例所涉及的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
本发明实施例提供的区块链网络组网方法,可以适用于去中心化的通信***。该通信***包括多个参与组网的用户(以下简称参与方),每个参与方可以包括一个或多个通信设备,例如终端设备、集群设备等。可选的,该通信设备上安装有应用程序,例如服务性程序等。参与方可以通过该应用程序提供的用户界面向终端设备提交数据信息或者指令,以控制通信设备组建区块链网络。下面结合具体的实施例对区块链网络的组建过程进行详细的描述。
图1为本发明实施例一提供的区块链网络组网方法流程图。本发明实施例针对现有技术中基于区块链的组网方法采用中心化机制,组网过程依赖于作为中心的云服务平台,组网过程不透明、不可信的问题,提供了区块链网络组网方法。如图1所示,该方法具体步骤如下:
步骤S101、第一参与方设备生成自身的MSP信息。
本实施例中,第一参与方设备可以是任意一个参与方的负责组建区块链网络的通信设备。第一参与方设备可以是终端设备,也可以是服务器集群等设备,在其他实施例中,该方法还可应用于其他设备,本实施例对此不做具体限定。
其中,MSP信息是指联盟链成员的证书管理(Membership Service Provider,简称MSP)信息。MSP信息包括通信地址、MSP标识信息、以及多个证书。
一个参与方对应于一个MSP标识信息,MSP标识信息用于唯一标识一个参与方的MSP信息,例如,MSP标识信息可以是MSPID。
步骤S102、第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息。
本实施例中,第一参与方设备在生成自身的MSP信息之后,可以将自身的MSP信息发送给其他参与方设备,以使其他参与方设备可以获知第一参与方设备的MSP信息。第一参与方设备可以接收其他参与方设备发送的MSP信息。
步骤S103、在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点。
在各个参与方设备的MSP信息交换完成之后,可以由任意一个参与方设备在接收到发起组网指令时发起组网。
其中,初始区块配置信息至少包括排序节点的配置信息和区块设置信息。区块设置信息包括预设公用服务所在设备的通信地址,端口号,区块生成的相关信息,区块大小,每个区块中交易的个数,以及区块链的版本信息和共识方法等其他信息。区块设置信息为各个参与方预先商定好的需保持一致的信息。其中预设公用服务包括:Kafka服务和Zookeeper服务等。
步骤S104、第一参与方设备获取本地节点配置信息,并根据本地节点配置信息完成本地节点的配置。
其中,本地节点至少包括排序节点和Peer节点。
可选的,第一参与方设备可以提供用于输入本地节点配置信息的节点配制界面。第一参与方设备接收参与方用户通过节点配置页面输入并提交的本地节点配置信息,并根据获取到的本地节点配置信息完成本地节点的配置。
可选的,参与方用户可以预先将本地节点配置信息写入到预设节点配置文件中。第一参与方设备可以从预设节点配置文件中读取本地节点配置信息,并根据获取到的本地节点配置信息完成本地节点的配置。
步骤S105、第一参与方设备启动本地节点。
本实施例中,第一参与方设备可以在完成本地节点的配置之后,启动本地节点。各个参与方设备的本地节点均启动之后,即可完成区块链网络的组网。
可选的,第一参与方设备还可以在接收到启动指令时启动本地节点。
本发明实施例通过第一参与方设备生成自身的MSP信息;第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息;在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点;第一参与方设备根据自身的MSP信息、其他参与方设备的MSP信息、以及初始区块配置信息,配置本地节点信息;第一参与方设备启动本地节点,来完成区块链网络组网,由各个参与方设备自行生成自身的MSP信息并共享给其他参与方,无需中心服务器,由各个参与方设备共同参与完成区块链网络的组网,实现了去中心化的组网,组网过程更加透明,更加可信。
实施例二
图2为本发明实施例二提供的区块链网络组网方法流程图。在上述实施例一的基础上,本实施例中,预先从各个参与方设备中确定一个或者多个种子节点,种子节点的通信地址公开给所有参与方设备。各个参与方设备将自身的通信地址和MSP标识信息发送给种子节点,以使种子节点存储所有已知参与方设备的通信地址和MSP信息。第一参与方设备将自身的MSP信息发送给其他参与方设备之前,还包括:第一参与方设备向预设的种子节点发送地址获取请求,地址获取请求包括第一参与方设备的通信地址和MSP标识信息,以使种子节点向第一参与方设备发送所有已知参与方设备的通信地址和MSP标识信息,并将第一参与方设备的通信地址和MSP标识信息发送给所有已知参与方设备,以使所有已知参与方设备向第一参与方设备发送自身的MSP信息;第一参与方设备接收种子节点发送的所有已知参与方设备的通信地址和MSP标识信息。如图2所示,该方法具体步骤如下:
步骤S201、第一参与方设备生成自身的MSP信息。
本实施例中,第一参与方设备可以是任意一个参与方的负责组建区块链网络的通信设备。第一参与方设备可以是终端设备,也可以是服务器集群等设备,在其他实施例中,该方法还可应用于其他设备,本实施例对此不做具体限定。
其中,MSP信息是指联盟链成员的证书管理(Membership Service Provider,简称MSP)信息。MSP信息包括通信地址、MSP标识信息、以及多个证书。
一个参与方对应于一个MSP标识信息,MSP标识信息用于唯一标识一个参与方的MSP信息,例如,MSP标识信息可以是MSPID。
具体的,第一参与方设备生成自身的MSP信息,具体可以采用以下步骤S2011-S2012实现:
S2011、第一参与方设备获取对应参与方的身份信息,根据所对应参与方的身份信息生成所对应参与方的证书,证书包括:签名证书和通信证书,签名证书包括管理员证书和非管理员证书。
可选的,第一参与方设备可以提供用于输入生成证书必要的参与方的身份信息的证书生成界面。参与方用户可以在证书生成界面输入并提交生成证书所需的参数信息。例如,参与方的域名、所在城市、公司名称等等与参与方身份相关的信息。第一参与方设备可以接收参与方用户通过前端页面提交的参与方的身份信息,根据参与方用户提交的参与方的身份信息生成所对应参与方的证书,可以保证参与方证书的可靠性。
可选的,参与方用户可以预先将生成证书必要的参与方的身份信息写入到预设配置文件中。第一参与方设备可以从预设配置文件中读取生成证书必要的参与方的身份信息,并根据参与方用户提交的参与方的身份信息生成所对应参与方的证书。
S2012、第一参与方设备获取自身的通信地址和MSP标识信息。
本实施例中,第一参与方设备的MSP信息包括第一参与方设备的通信地址和MSP标识信息,以及第一参与方设备所对应参与方的证书。
可选的,第一参与方设备可以提供用于输入通信地址和MSP标识信息的前端界面,以使参与方用户可以在该前端界面输入并提交自己的通信地址和MSP标识信息。第一参与方设备可以接收参与方用户通过前端页面提交的第一参与方设备的通信地址和MSP标识信息。
可选的,参与方用户还可以预先将第一参与方设备的通信地址和MSP标识信息写入到预设配置文件中。第一参与方设备可以从预设配置文件中读取自身的通信地址和MSP标识信息。
步骤S202、第一参与方设备向预设的种子节点发送地址获取请求,地址获取请求包括第一参与方设备的通信地址和MSP标识信息,以使种子节点向第一参与方设备发送所有已知参与方设备的通信地址和MSP标识信息,并将第一参与方设备的通信地址和MSP标识信息发送给所有已知参与方设备,以使所有已知参与方设备向第一参与方设备发送自身的MSP信息。
本实施例中,各个参与方设备将自身的通信地址和MSP标识信息发送给种子节点,以使种子节点存储所有已知参与方设备的通信地址和MSP信息。
第一参与方设备在将自身的MSP信息发送给其他参与方设备之前,可以通过向种子节点发送地址获取请求,从种子节点获取已知所有参与方的通信地址和MSP标识信息。
种子节点在接收到任意一个参与方设备发送的地址获取请求时,种子节点存储发送方设备的通信地址和MSP标识信息,向发送方设备发送所有已知参与方设备的通信地址和MSP标识信息;并且,种子节点将发送方设备的通信地址和MSP标识信息发送给所有已知参与方设备,以使所有已知参与方设备将自身的MSP信息发送给发送方设备。
可选的,本实施例中可以预先设置一个或者多个种子节点。若种子节点为多个,则多个种子节点上同步存储有所有已知参与方设备的通信地址和MSP标识信息。
可选的,若第一参与方设备可以向任意一个种子节点发送地址获取请求,并接收该种子节点反馈的所有已知参与方设备的通信地址和MSP标识信息。
步骤S203、第一参与方设备接收种子节点发送的所有已知参与方设备的通信地址和MSP标识信息。
上述步骤S202-S203为第一参与方设备获取其他参与方设备的通信地址和MSP标识信息的一种可行的实施方式。
可选的,若第一参与方设备为种子节点,第一参与方设备本身存储有所有已知参与方设备的通信地址和MSP标识信息,无需执行上述步骤S202-S203获取其他参与方的通信地址和MSP标识信息,则第一参与方设备将自身的通信地址和MSP标识信息发送给所有已知参与方设备,并执行步骤S204及后续步骤。
另外,若第一参与方设备为种子节点,那么第一参与方设备还可以实现种子节点的功能:
第一参与方设备接收其他参与方设备发送的地址获取请求,地址获取请求包括发送方设备的通信地址和MSP标识信息;第一参与方设备存储发送方设备的通信地址和MSP标识信息,并向发送方设备发送所有已知参与方设备的通信地址和MSP标识信息;第一参与方设备将发送方设备的通信地址和MSP标识信息发送给所有已知参与方设备,以使所有已知参与方设备向第一参与方设备发送自身的MSP信息。
可选的,第一参与方设备可以向发送方设备广播所有已知参与方设备的通信地址和MSP标识信息。
步骤S204、第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息。
可选的,第一参与方设备可以向其他参与方设备广播自身的MSP信息。
上述步骤S201-S204为各个参与方设备交换MSP信息的一种可行的实施方式。完成NSP信息交换的各个参与方设备可以进行组网。
步骤S205、在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点。
在各个参与方设备的MSP信息交换完成之后,可以由任意一个参与方设备在接收到发起组网指令时发起组网。
其中,初始区块配置信息至少包括排序节点的配置信息和区块设置信息。区块设置信息包括预设公用服务所在设备的通信地址,端口号,区块生成的相关信息,区块大小,每个区块中交易的个数,以及区块链的版本信息和共识方法等其他信息。区块设置信息为各个参与方预先商定好的需保持一致的信息。其中预设公用服务包括:Kafka服务和Zookeeper服务等。
可选的,第一参与方设备提供用于提交发起组网指令的发起组网界面。例如,参与方用户可以通过点击发起组网界面中的预设按钮或者预设区域的方式向第一参与方设备提交发起组网指令。
可选的,第一参与方设备获取初始区块配置信息之后,第一参与方设备根据自身的MSP信息、其他参与方设备的MSP信息、以及初始区块配置信息,生成排序节点配置文件。
例如,排序节点配置文件可以是Genesis.block。
本实施例中,生成初始区块配置信息的过程在各个参与方本地完成,即每个参与方均需要生成一份排序节点配置文件供本地排序服务使用。生成排序节点配置文件的信息来源分为两个部分:一部分是来源于其他参与方设备的MSP信息,另一部分则是来源于参与方用户通过前端页面设置的初始区块配置信息。
在生成排序节点配置文件的过程中,各个参与方需预先商议确保设置的初始区块配置信息中除各个设备的通信地址和端口号等属性信息之外的其他信息一致。
可选的,第一参与方设备可以将初始区块配置信息存储到本地数据库中,以对初始区块配置信息进行备份。
步骤S206、第一参与方设备获取本地节点配置信息,并根据本地节点配置信息完成本地节点的配置。
其中,本地节点至少包括排序节点和Peer节点。
可选的,第一参与方设备可以提供用于输入本地节点配置信息的节点配制界面。第一参与方设备接收参与方用户通过节点配置页面输入并提交的本地节点配置信息,并根据获取到的本地节点配置信息完成本地节点的配置。
可选的,参与方用户可以预先将本地节点配置信息写入到预设节点配置文件中。第一参与方设备可以从预设节点配置文件中读取本地节点配置信息,并根据获取到的本地节点配置信息完成本地节点的配置。
步骤S207、第一参与方设备启动本地节点。
本实施例中,第一参与方设备可以在完成本地节点的配置之后,启动本地节点。各个参与方设备的本地节点均启动之后,即可完成区块链网络的组网。
可选的,第一参与方设备还可以在接收到启动指令时启动本地节点。
本发明实施例通过预设种子节点,种子节点的通信地址公开给所有参与方设备,种子节点存储由向其发送过地址获取请求的所有已知参与方设备的通信地址和MSP标识信息。各个参与方设备向种子节点发送携带自身的通信地址和MSP标识信息的地址获取请求,可以从种子设备获取到所有已知参与方设备的通信地址和MSP信息,各个参与方设备向其他参与方设备发送自身的MSP信息并接收其他参与方设备发送的MSP信息,实现各个参与方设备之间MSP信息的交互,且各个参与方设备的MSP信息由自己生成,可以确保MSP信息的可靠性,从而使得组网过程更加透明,更加可信。
实施例三
图3为本发明实施例三提供的区块链网络组网方法流程图。在上述实施例一或实施例二的基础上,本实施例中,第一参与方设备启动本地节点之后,第一参与方设备还可以创建通道和向通道加入节点。如图3所示,第一参与方设备启动本地节点之后,该方法还包括如下步骤:
步骤S301、第一参与方设备接收通道创建指令,通道创建指令包括通道配置信息。
其中,第一参与方设备可以是任意一个参与方的负责组建区块链网络的通信设备。
本实施例中,第一参与方设备可以提供用于输入通道配置信息的通道创建界面。参与方用户可以在该通道创建界面中输入要创建的通道的配置信息。参与方用户在输入通道配置信息之后,通过提交通道创建界面向第一参与方设备提交包括通道配置信息的通道创建指令。
其中,通道配置信息可以包括通道名称和通道参与方信息。通道参与方信息可以是参与方的域名、公司名称等等能够表明参与方身份的信息。
可选的,第一参与方设备可以根据通道配置信息获取通道参与方信息对应的通道参与方的MSP标识信息,根据通道名称和通道参与方的MSP标识信息,生成通道配置文件。例如,通道配置文件可以是channel.tx。
步骤S302、第一参与方设备向排序节点发送第一交易请求,以使排序节点根据通道配置信息创建通道。
可选的,排序节点根据通道配置信息创建通道可以通过调用区块链软件开发工具包(Software Development Kit,简称SDK)中的对应功能模块完成。
本实施例中,排序节点根据通道配置信息创建通道的过程与现有技术中任意一种创建通道的方法实现,本实施例此处不做具体限定。
步骤S303、接收加入节点指令,加入节点指令包括Peer节点的标识信息。
本实施例中,第一参与方设备可以提供用于指定加入通道的Peer节点的节点加入界面。参与方用户可以在该节点加入界面中指定要加入已创建的通道的Peer节点,并提交Peer节点的标识信息。参与方用户在指定要加入已创建的通道的Peer节点之后,通过提交节点加入界面向第一参与方设备提交包括Peer节点的标识信息的加入节点指令。
步骤S304、第一参与方设备根据Peer节点的标识信息,向Peer节点发送第二交易请求,以使Peer节点加入已创建的通道。
可选的,Peer节点加入已创建的通道可以通过调用区块链软件开发工具包(Software Development Kit,简称SDK)中的对应功能模块完成。
本实施例中,Peer节点加入已创建的通道的过程与现有技术中任意一种节点加入已创建的通道的方法实现,本实施例此处不做具体限定。
本发明实施例通过在各个参与方设备启动本地节点,完成区块链网络组网之后,第一参与方设备接收通道创建指令,通道创建指令包括通道配置信息;第一参与方设备向排序节点发送第一交易请求,以使排序节点根据通道配置信息创建通道;接收加入节点指令,加入节点指令包括Peer节点的标识信息;第一参与方设备根据Peer节点的标识信息,向Peer节点发送第二交易请求,以使Peer节点加入已创建的通道;实现了基于组建的区块链网络,参与方设备创建通道并向已创建通道加入节点。
实施例四
图4为本发明实施例四提供的区块链网络组网装置的结构示意图。本发明实施例提供的区块链网络组网装置可以执行区块链网络组网方法实施例提供的处理流程。如图4所示,该装置40包括:MSP信息生成模块401,MSP信息交换模块402,初始区块配置模块403,本地节点配置模块404和启动模块405。
具体地,MSP信息生成模块401用于第一参与方设备生成自身的MSP信息。
MSP信息交换模块402用于第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息。
初始区块配置模块403用于在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点。
本地节点配置模块404用于第一参与方设备获取本地节点配置信息,并根据本地节点配置信息完成本地节点的配置。
启动模块405用于第一参与方设备启动本地节点。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过第一参与方设备生成自身的MSP信息;第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息;在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点;第一参与方设备根据自身的MSP信息、其他参与方设备的MSP信息、以及初始区块配置信息,配置本地节点信息;第一参与方设备启动本地节点,来完成区块链网络组网,由各个参与方设备自行生成自身的MSP信息并共享给其他参与方,无需中心服务器,由各个参与方设备共同参与完成区块链网络的组网,实现了去中心化的组网,组网过程更加透明,更加可信。
实施例五
在上述实施例四的基础上,本实施例中,MSP信息生成模块还用于:
第一参与方设备获取对应参与方的身份信息,根据所对应参与方的身份信息生成所对应参与方的证书,证书包括:签名证书和通信证书,签名证书包括管理员证书和非管理员证书;第一参与方设备获取自身的通信地址和MSP标识信息;第一参与方设备的MSP信息包括第一参与方设备的通信地址和MSP标识信息,以及第一参与方设备所对应参与方的证书。
可选的,MSP信息交换模块还用于:
第一参与方设备向预设的种子节点发送地址获取请求,地址获取请求包括第一参与方设备的通信地址和MSP标识信息,以使种子节点向第一参与方设备发送所有已知参与方设备的通信地址和MSP标识信息,并将第一参与方设备的通信地址和MSP标识信息发送给所有已知参与方设备,以使所有已知参与方设备向第一参与方设备发送自身的MSP信息;第一参与方设备接收种子节点发送的所有已知参与方设备的通信地址和MSP标识信息。
可选的,MSP信息交换模块还用于:
第一参与方设备是种子节点,第一参与方设备接收其他参与方设备发送的地址获取请求,地址获取请求包括发送方设备的通信地址和MSP标识信息;第一参与方设备存储发送方设备的通信地址和MSP标识信息,并向发送方设备发送所有已知参与方设备的通信地址和MSP标识信息;第一参与方设备将发送方设备的通信地址和MSP标识信息发送给所有已知参与方设备,以使所有已知参与方设备向第一参与方设备发送自身的MSP信息。
可选的,MSP信息交换模块还用于:
第一参与方设备将发送方设备的通信地址和MSP标识信息广播给所有已知参与方设备。
可选的,MSP信息交换模块还用于:
第一参与方设备向其他参与方设备广播自身的MSP信息。
可选的,初始区块配置模块还用于:
第一参与方设备根据自身的MSP信息、其他参与方设备的MSP信息、以及初始区块配置信息,生成排序节点配置文件。
可选的,启动模块还用于:
在接收到启动指令时,第一参与方设备启动本地节点。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过预设种子节点,种子节点的通信地址公开给所有参与方设备,种子节点存储由向其发送过地址获取请求的所有已知参与方设备的通信地址和MSP标识信息。各个参与方设备向种子节点发送携带自身的通信地址和MSP标识信息的地址获取请求,可以从种子设备获取到所有已知参与方设备的通信地址和MSP信息,各个参与方设备向其他参与方设备发送自身的MSP信息并接收其他参与方设备发送的MSP信息,实现各个参与方设备之间MSP信息的交互,且各个参与方设备的MSP信息由自己生成,可以确保MSP信息的可靠性,从而使得组网过程更加透明,更加可信。
实施例六
图5为本发明实施例六提供的区块链网络组网装置的结构示意图。在上述实施例四或者实施例五的基础上,本实施例中,如图5所示,该装置40还包括:通道管理模块406。
具体的,通道管理模块406用于:
第一参与方设备接收通道创建指令,通道创建指令包括通道配置信息;第一参与方设备向排序节点发送第一交易请求,以使排序节点根据通道配置信息创建通道。
通道管理模块406还可以用于:
接收加入节点指令,加入节点指令包括Peer节点的标识信息;第一参与方设备根据Peer节点的标识信息,向Peer节点发送第二交易请求,以使Peer节点加入已创建的通道。
本发明实施例提供的装置可以具体用于执行上述实施例三所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过在各个参与方设备启动本地节点,完成区块链网络组网之后,第一参与方设备接收通道创建指令,通道创建指令包括通道配置信息;第一参与方设备向排序节点发送第一交易请求,以使排序节点根据通道配置信息创建通道;接收加入节点指令,加入节点指令包括Peer节点的标识信息;第一参与方设备根据Peer节点的标识信息,向Peer节点发送第二交易请求,以使Peer节点加入已创建的通道;实现了基于组建的区块链网络,参与方设备创建通道并向已创建通道加入节点。
实施例七
图6为本发明实施例七提供的区块链网络组网设备的结构示意图。如图6所示,该设备60包括:处理器601,存储器602,以及计算机程序。
其中,计算机程序存储在存储器602中,并被配置为由处理器601执行以实现如上述任一方法实施例所提供的区块链网络组网方法。
本发明实施例通过第一参与方设备生成自身的MSP信息;第一参与方设备将自身的MSP信息发送给其他参与方设备,并接收其他参与方设备发送的MSP信息;在接收到发起组网指令时,第一参与方设备获取初始区块配置信息,并将初始区块配置信息发送给其他参与方设备,以使其他参与方设备根据初始区块配置信息配置本地节点信息并启动本地节点;第一参与方设备根据自身的MSP信息、其他参与方设备的MSP信息、以及初始区块配置信息,配置本地节点信息;第一参与方设备启动本地节点,来完成区块链网络组网,由各个参与方设备自行生成自身的MSP信息并共享给其他参与方,无需中心服务器,由各个参与方设备共同参与完成区块链网络的组网,实现了去中心化的组网,组网过程更加透明,更加可信。
另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例提供的区块链网络组网方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。