Вы можете легко написать пару потоков для этого.
Первая сторона вызывает следующий поток для отправки всех своих сохраненных транзакций контрагенту:
@InitiatingFlow
@StartableByRPC
class Sender(val counterparty: Party) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val (existingTransactions, _) = serviceHub.validatedTransactions.track()
val counterpartySession = initiateFlow(counterparty)
counterpartySession.send(existingTransactions)
}
}
Контрагент отвечает, вызываяследующий поток для получения и записи всех транзакций:
@InitiatedBy(Sender::class)
class Receiver(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
val existingTransactions = counterpartySession.receive<List<SignedTransaction>>().unwrap { it }
serviceHub.recordTransactions(existingTransactions)
}
}