Я создал CorDapp, используя пример «Yo!CorDapp» (https://github.com/corda/spring-наблюдаемый-поток) поверх версии v1 платформы Corda.
CorDapp имеет четыре узла: узел контроллера (предоставляет услугу карты сети и нотариальную услугу проверки), «узел A», «узел B» и «узел C». Ниже приведены потоки, определенные в приложении.
Поток 1: «Узел A» отправляет запрос на обмен «Узлу B». "Узел C" также уведомляется.
Поток 2: «Узел B» одобряет запрос на сделку, подписывает его, получает подпись от A и закрывает сделку. "Узел C" также уведомляется.
Я хочу, чтобы «Узел A» проверял, работает ли «Узел B», чтобы он мог решить инициировать поток «Поток 1».
Это возможно? Если да, пожалуйста, уточните.
Вы должны иметь возможность проверить кэш карты сети:
serviceHub.networkMapCache.allNodes.map { node -> node.legalIdentities.first() }
Убедитесь, что сторона, с которой вы хотите связаться, находится в этом списке.
Тем не менее, не должно иметь значения, работает ли узел контрагента или нет. Corda будет обрабатывать доставку на узел, когда контрагент вернется.
Если возможно, можете ли вы дать ссылку на документацию R3, в которой говорится: «Corda справится с доставкой на узел, когда контрагент вернется».