Corda - Как проверить, работают ли встречные узлы? - PullRequest
1 голос
/ 27 мая 2019

Я собрал CorDapp, используя пример «Yo! CorDapp» (https://github.com/corda/spring-observable-stream), поверх release-v1 платформы Corda.

В CorDapp есть четыре узла - узел контроллера (предоставляет услугу сетевой карты и проверяющий нотариус), «узел A», «узел B» и «узел C». Ниже приведены потоки, определенные в приложении -

Поток 1: «Узел A» отправляет торговый запрос на «Узел B». «Узел C» также уведомляется.

Поток 2: «Узел B» одобряет заявку на торговлю, подписывает ее самостоятельно, получает подпись от A и закрывает сделку. «Узел C» также уведомляется.

Я хочу, чтобы «Узел А» проверил, работает ли «Узел В», чтобы он мог решить инициировать поток «Поток 1».

Возможно ли это? Если да, пожалуйста, уточните.

1 Ответ

1 голос
/ 28 мая 2019

Вы должны быть в состоянии проверить кэш карты сети:

serviceHub.networkMapCache.allNodes.map { node -> node.legalIdentities.first() }

Убедитесь, что в этом списке есть участник, с которым вы хотите общаться.

При этом не должно иметь значения, работает ли узел контрагента или нет. Corda будет обрабатывать доставку до узла, когда контрагент возвращается.

...