Fabric系列 - 锚节点
Posted 搬砖魁首
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fabric系列 - 锚节点相关的知识,希望对你有一定的参考价值。
锚节点
锚节点是定义在一个已经加入到通道的组织的节点。该节点主要用于节点的发现。
在一个通道中,锚节点可以被这个通道的其他任何节点发现和通信。因此,每一个加入到管通内的组织都至少有一个锚节点,一个组织的节点可以通过查找锚节点来发现这个通道内的其他组织的所有节点。
leader节点
当ordering服务要发送一个区块到通道,这个块就必须先发送到一个组织的leader
节点,之后由leader节点把这个块通过gossip协议分发到这个组织的其他节点上。 也就是说,锚点是组织和组织之间的联通桥梁。而leader节点是peer节点和order服务之间的通信桥梁。
注册锚节点
根据当前的peer身份,获取到当前peer所在的组织
确保所设置的锚点要在当前的channel内
使用锚点信息,构造joinchannel的消息格式
根据配置信息,获取要更改组织下的所有锚点,这些锚点信息都放入joinchannel
的消息中,用于gossip发送
验证锚节点
对joinchannel消息中每个组织里的锚点:
遍历这个组织下的锚点,首先进行host和port合法性检测。如果当前节点就是锚点,就不做任何操作。之后,如果锚点不在当前组织内,需要判断当前节点是否可以对外连接,也就是说是否设置了外部访问端口
使用发现服务连接这个锚点,在连接的过程中,发送的消息是不需要节点签名的。只需要保证连接的时候,需要知道连接节点的PKIid(PKIid的获取是通过与远程节点进行握手操作获取到远程节点的签名信息和PKIid)
以上是关于Fabric系列 - 锚节点的主要内容,如果未能解决你的问题,请参考以下文章
10fabric node sdk1.4.8手工设置组织锚节点