我可以创建一个具有空参与方的corda状态吗?

我可以创建一个具有空参与方的corda状态吗?,corda,Corda,我想创建一个corda状态,其中一个party字段最初应该为空。在下一个流程中,我想更新party字段 但是当我在tx.verify()期间创建第一个流时,它的抛出错误为 格式不正确的事务,索引0处的输出组无法反序列化。这对我在Corda 3中工作正常 这是我的状态: class MyState(val party: Party?) : ContractState { override val participants: List<AbstractParty> get() =

我想创建一个corda状态,其中一个party字段最初应该为空。在下一个流程中,我想更新party字段

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

这对我在Corda 3中工作正常

这是我的状态:

class MyState(val party: Party?) : ContractState {
    override val participants: List<AbstractParty> get() = listOf()
}
class MyState(val party:party?):ContractState{
覆盖val参与者:List 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)
    }
}
@InitiatingFlow
@星表
类启动器:FlowLogic(){
重写val progressTracker=progressTracker()
@暂停
覆盖有趣的调用(){
val myState=myState(空)
val txCommand=Command(MyContract.Commands.Command(),ourIdentity.owningKey)
val notary=serviceHub.networkMapCache.NotaryIdentity[0]
val txBuilder=TransactionBuilder(公证人)
.addOutputState(我的状态、我的合同ID)
.addCommand(txCommand)
//验证生成器。
txBuilder.verify(serviceHub)
//验证已签名的事务。
serviceHub.signInitialTransaction(txBuilder).verify(serviceHub)
}
}

验证生成器或已签名的事务不会导致任何问题。Kotlin和Java都是如此。

没问题。如果您找到问题的原始原因,请告诉我!问题是状态字段被声明为非空。