我可以用空方创建一个 corda 状态吗?

Can i create a corda state with null party?

我想创建一个 corda 状态,其中一个派对字段最初应该是空的。在下一个流程中,我想更新那个派对字段。

但是当我在 tx.verify() 期间创建第一个流时,它的抛出错误为 格式错误的事务,索引 0 处的 OUTPUTS_GROUP 无法反序列化。

这对我来说在 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.

中都是如此