bc.yml 配置改进意见
版本
- 长安链版本:2030200
问题
由于创世区块依赖于bc.yml
,而bc.yml
的TrustRoots只能填写组织CA证书路径,将导致以下两个场景无法正常使用:
-
不支持证书更新后新增节点。当组织CA证书更新后,新增节点(node1)
bc.yml
的TrustRoots将指向新的组织CA证书路径,在节点(node1)启动后,其通过bc.yml
构建的创世区块将与其它节点的创世区块存在差异,无法进行相关账本的同步。 -
不支持删除组织后新增节点。当组织(org1)从链上移除后,若删除组织(org1)的相关证书材料,那么在后续进行新增节点时,在读取
bc.yml
过程中将读不到CA证书,直接启动失败。
改进意见
通过动态判断bc.yml
中TrustRoots的Root字段,若是合法路径则去对应路径读CA证书文件内容;若是CA证书内容,则直接解析证书。