我可以用空方创建一个 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.
中都是如此
我想创建一个 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.
中都是如此