Сетевая карта Corda запущена и работает, но нотариуса нет в белом списке

#corda #notary

Вопрос:

У меня есть инфраструктура Corda с некоторыми узлами и (не подтверждающим) нотариусом. Все они используют Сетевую карту для зоны совместимости, и все узлы corda, включая нотариуса, загружают один и тот же файл сетевых параметров.

При выполнении потока Corda выдает мне исключение, потому что Нотариус не находится в белом списке параметров сети. Я ничего не могу найти об этом в документации 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:?]
 

Обратите внимание, что я использую фиксированное имя нотариуса X500 в коде потока вместо «Предпочтительного», потому что оно не будет найдено. Я думаю, что это из-за той же проблемы.

Нужно ли мне делать что-то явное, чтобы добавить нотариуса в белый список сетевых параметров?

Комментарии:

1. Привет, вы используете загрузчик сети для развертывания сети?

Ответ №1:

Нужно ли мне делать что-то явное, чтобы добавить нотариуса в белый список сетевых параметров?

Да, ты знаешь. Поскольку вы используете сервис сетевой карты, ваш узел получит оттуда свои сетевые параметры.

Что вам тогда придется сделать, так это

  1. удалите текущие сетевые параметры для каждого узла.
  2. внесите в белый список свой нотариальный узел в свою сетевую карту-сервис
  3. перезапустите все ваши узлы, чтобы они могли получить новые сетевые параметры из службы сетевой карты, в которой новый нотариус назначен как таковой

Я не знаю, какой именно сетевой картографический сервис вы используете, но я предполагаю, что его nms от cordite. Вы можете прочитать о том, как внести нотариуса в белый список здесь: https://gitlab.com/cordite/network-map-service/-/blob/master/FAQ.md#14-start-the-notary-node