Код, который вы вставляете, взят из contract
сетевого приложения. Вы начнете сбор подписей в потоке шнура приложения.
Давайте предположим, что в этой транзакции есть только кредитор и заемщик (без стороннего модератора), а кредитор является инициатором потока. Кредитор разработает состояние и подпишет его сам, и отправил половинную подписанную транзакцию заемщику через сеанс, а заемщик проверит его и подпишет через ответчика.
В этот момент у вас будет полностью подписанная транзакция. Что касается кода, я бы посоветовал вам взглянуть на это простое переговорное приложение для справки. https://github.com/corda/samples/blob/release-V4/negotiation-cordapp/workflows-kotlin/src/main/kotlin/negotiation/flows/AcceptanceFlow.kt
val partStx = serviceHub.signInitialTransaction(txBuilder)
// Gathering the counterparty's signature.
val counterparty = if (ourIdentity == input.proposer) input.proposee else input.proposer
val counterpartySession = initiateFlow(counterparty)
val fullyStx = subFlow(CollectSignaturesFlow(partStx, listOf(counterpartySession)))