#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:
Нужно ли мне делать что-то явное, чтобы добавить нотариуса в белый список сетевых параметров?
Да, ты знаешь. Поскольку вы используете сервис сетевой карты, ваш узел получит оттуда свои сетевые параметры.
Что вам тогда придется сделать, так это
- удалите текущие сетевые параметры для каждого узла.
- внесите в белый список свой нотариальный узел в свою сетевую карту-сервис
- перезапустите все ваши узлы, чтобы они могли получить новые сетевые параметры из службы сетевой карты, в которой новый нотариус назначен как таковой
Я не знаю, какой именно сетевой картографический сервис вы используете, но я предполагаю, что его nms от cordite. Вы можете прочитать о том, как внести нотариуса в белый список здесь: https://gitlab.com/cordite/network-map-service/-/blob/master/FAQ.md#14-start-the-notary-node