В Corda 4 вы можете указать, какой поток ответчика использовать через конфигурацию узла. Смотри https://docs.corda.net/head/flow-overriding.html#overriding-a-flow-via-node-configuration.
В Corda 3 и более ранних версиях вам необходимо создать абстрактный класс с тем же полностью определенным именем, что и поток, который будет инициировать ваш InitiatedBy
поток:
@InitiatingFlow
@StartableByRPC
abstract class Initiator : FlowLogic<Unit>()
Затем используйте этот класс в аннотации InitiatedBy
вашего потока:
@InitiatedBy(Initiator::class)
class Responder(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
// TODO: Flow response logic.
}
}
Поток Responder
теперь будет реагировать на любые инициирующие потоки с именем Initiator
, независимо от фактического класса, запущенного на другой стороне.