Corda Network-Map 已启动并运行,但 Notary 不在白名单中
Posted
技术标签:
【中文标题】Corda Network-Map 已启动并运行,但 Notary 不在白名单中【英文标题】:Corda Network-Map is up and running, but Notary is not in whitelist 【发布时间】:2021-12-19 11:39:28 【问题描述】:我有一个带有一些节点和一个(未验证)公证人的 Corda 基础设施。他们都使用网络地图作为兼容区域,所有的corda节点,包括公证人,都下载相同的网络参数文件。
执行流程时,Corda 给我一个异常,因为 Notary 不在网络参数白名单上。我在 R3 文档中找不到任何关于此的内容。
java.lang.IllegalStateException: Notary [O=Notary, L=Cosenza, C=IT (owningKey = DLAdtNkbnrjn6FGwzE4sCaiDS3tRgMw3KhZfA7bD3icYK1)] specified by the transaction is not on the network parameter whitelist: []
at net.corda.core.internal.TransactionUtilsKt.checkNotaryWhitelisted(TransactionUtils.kt:257) ~[corda-core-4.8.jar:?]
请注意,我在 Flow 代码中使用了固定的 Notary X500 名称,而不是“preferredNotary”,因为找不到它。我想是因为同样的问题。
我是否必须做一些明确的事情才能在网络参数白名单中添加公证人?
【问题讨论】:
您好,您是否使用网络引导程序来部署网络? 【参考方案1】:我是否必须做一些明确的事情才能在网络参数白名单中添加公证人?
是的,你会的。由于您使用的是网络地图服务,因此您的节点将从那里获取其网络参数。
接下来你要做的是
-
删除每个节点的当前网络参数。
将您的公证节点列入您的网络地图服务的白名单
重新启动所有节点,以便它们可以从分配了新公证人的 network-map-service 检索新的网络参数
我不知道您到底使用的是哪个网络地图服务,但我假设它的 nms 是由cordite 提供的。您可以在此处阅读如何将公证人列入白名单:https://gitlab.com/cordite/network-map-service/-/blob/master/FAQ.md#14-start-the-notary-node
【讨论】:
以上是关于Corda Network-Map 已启动并运行,但 Notary 不在白名单中的主要内容,如果未能解决你的问题,请参考以下文章
如何为在 docker 容器内运行的 corda 节点运行迁移脚本?
如何从 Corda 的 CordApp 中超时/终止正在运行的流程