Если бы B и C оба хотели поделиться этой информацией с A, они оба могли бы вызвать поток, такой как определенный ниже, для повторной отправки транзакций и их зависимостей в A:
@InitiatingFlow
@StartableByRPC
class ShareTransactionHistory(val otherParty: Party, val signedTransaction: SignedTransaction) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val otherPartySession = initiateFlow(otherParty)
subFlow(SendTransactionFlow(otherPartySession, signedTransaction))
}
}
@InitiatedBy(ShareTransactionHistory::class)
class ShareTransactionHistoryResponder(val otherPartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
subFlow(ReceiveTransactionFlow(otherPartySession, statesToRecord = StatesToRecord.ONLY_RELEVANT))
}
}
Затем A автоматически перезаписывает транзакции и любые соответствующие состояния.
Однако, пожалуйста, смотрите этот вопрос для предупреждений в процессе восстановления.