向已完成节点引导的Corda网络部署新节点后能否实现互通?
Corda新节点与现有节点的通信能力问题
这是个很典型的Corda网络扩展问题,我来分两部分给你讲清楚:
新节点能否识别并与现有节点通信?
答案是肯定的,只要配置正确。具体来说需要满足这几个前提:
- 新节点在配置时必须正确指向当前Corda网络的Network Map Service(NMS),并且使用网络根CA签发的合法节点证书。
- 新节点的Corda版本、
minimumPlatformVersion等参数必须符合网络参数要求(这些参数会从NMS自动获取)。
当新节点完成引导和部署后,它会自动从NMS拉取整个网络的节点列表和网络参数,这样就能识别所有已注册的现有节点。只要现有节点的防火墙/网络策略允许新节点的连接请求,新节点就能主动发起通信(比如启动Corda流),和现有节点完成数据交互。
现有节点能否识别并主动联系新节点?
这取决于现有节点的配置和网络地图的刷新机制:
- 默认情况下,Corda节点不会实时监听新节点的加入,它们只会在启动时或者配置的刷新周期内从NMS拉取最新的网络地图。
- 如果现有节点配置了定期刷新网络地图(通过
networkMapRefreshInterval参数设置),当新节点成功注册到NMS后,现有节点在下次刷新时就会获取到新节点的信息,之后就能主动发起通信。 - 如果现有节点没有开启自动刷新,那么它们不会主动知道新节点的存在,除非手动触发网络地图刷新(比如通过节点shell执行
run networkMapRefresh命令)。
需要注意的是,不管是新节点还是现有节点,通信的前提都是双方的证书信任链完整,并且网络参数完全兼容,否则会被对方拒绝连接。
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

