我想创建一个corda状态,其中一个派对字段最初应为空。在下一个流程中,我想更新该派对字段。
但是当我创建第一个流时,在tx.verify()期间,它的抛出错误为 格式错误的事务,索引0处的OUTPUTS_GROUP无法反序列化。
答案 0 :(得分:0)
这在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中都是如此。