Могу ли я создать состояние корда с нулевой партией? - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу создать состояние корды, где одно из полей вечеринки должно быть изначально пустым. В следующем потоке я хочу обновить это поле участника.

Но когда я создаю первый поток, во время tx.verify (), его ошибка выбрасывается как Неверная транзакция, OUTPUTS_GROUP с индексом 0 не может быть десериализована.

1 Ответ

0 голосов
/ 25 апреля 2018

Это нормально работает для меня в Corda 3.

Вот мое состояние:

class MyState(val party: Party?) : ContractState {
    override val participants: List<AbstractParty> get() = listOf()
}

А вот мой поток:

@InitiatingFlow
@StartableByRPC
class Initiator : FlowLogic<Unit>() {
    override val progressTracker = ProgressTracker()

    @Suspendable
    override fun call() {
        val myState = MyState(null)
        val txCommand = Command(MyContract.Commands.Command(), ourIdentity.owningKey)

        val notary = serviceHub.networkMapCache.notaryIdentities[0]
        val txBuilder = TransactionBuilder(notary)
                .addOutputState(myState, MY_CONTRACT_ID)
                .addCommand(txCommand)

        // Verifying the builder.
        txBuilder.verify(serviceHub)

        // Verifying the signed transaction.
        serviceHub.signInitialTransaction(txBuilder).verify(serviceHub)
    }
}

Проверка либо строителяили подписанная транзакция не вызывает проблем.Это верно как для Kotlin, так и для Java.

...