在 node.conf 中更改 Corda 节点的名称不会在运行时反映在节点上

Changing a Corda node's name in node.conf is not reflected by the node at runtime

我有一个已经部署的 Corda 节点 运行。我现在想更改节点的名称。我通过更改 node.conf 文件中的节点名称来做到这一点。

但是,当我 运行 节点时,此更改未被拾取。它继续使用它的旧名称。如何强制节点使用其新名称?

节点的名称在其用于加入网络的证书中指定。 node.conf 中的名称仅在最初请求这些证书时使用。

如果更改节点名称,则必须通过删除节点文件夹中 ./certificates 下的 nodekeystore.jkssslkeystore.jks 重新生成其证书。

请注意,您只能在开发模式下执行此操作。 nodekeystore.jks 包含节点的身份密钥对。删除这些可能会阻止您花费与旧密钥相关的资产。

我尝试了 Joel 的上述解决方案,但不幸的是它对我不起作用。我正在使用 Corda V2 运行ning Azure 单一分类帐网络。但以下是对我在 azure 上已部署的网络中重命名节点的 legalName 有用的步骤。

  1. SSH 分别进入每个节点,包括 'network map node' 和 'notary node' 以及 运行 在每个节点上执行以下命令以停止 corda 服务器:

sudo systemctl stop corda

sudo systemctl stop corda-webserver

  1. 根据需要在每个节点中使用 vim 编辑 /opt/corda/node.conf。 (记住: 如果您更改 'network map node' 的名称,请不要忘记在网络上的所有相应节点中更改它)

i.e: myLegalName : "O=MY_ORG_NAME, L=Helsinki, C=FI"

  1. 使用以下命令删除持久性:

rm /opt/corda/persistence.mv.db

  1. 删除以下证书:

rm /opt/corda/certificates/nodekeystore.jks

rm /opt/corda/certificates/sslkeystore.jks

  1. 使用以下命令在所有节点上启动 corda:

    • 我先开始'network map node',然后再开始。

sudo systemctl start corda

sudo systemctl start corda-webserver