Corda可拥有的状态参与者属性
我读过 根据本文,OwnableState参与者的节点将持久化为TransactionCopy,而不是state copy 根据corda文档,OwnableState是一个合同状态,可以有一个所有者。OwnableState具有参与者属性。我已在OwnableState中将买方和卖方添加为参与者,但状态仅存储在Owners vault中,而不是参与者。但是,在LinearState状态下,将在两个参与者vault上持久化Corda可拥有的状态参与者属性,corda,Corda,我读过 根据本文,OwnableState参与者的节点将持久化为TransactionCopy,而不是state copy 根据corda文档,OwnableState是一个合同状态,可以有一个所有者。OwnableState具有参与者属性。我已在OwnableState中将买方和卖方添加为参与者,但状态仅存储在Owners vault中,而不是参与者。但是,在LinearState状态下,将在两个参与者vault上持久化 我需要了解corda中LinearState参与者和OwnableSta
我需要了解corda中LinearState参与者和OwnableState参与者之间的区别。以下是节点vault用于决定节点是否应存储状态的逻辑:
internal fun isRelevant(state: ContractState, myKeys: Set<PublicKey>): Boolean {
val keysToCheck = when (state) {
is OwnableState -> listOf(state.owner.owningKey)
else -> state.participants.map { it.owningKey }
}
return keysToCheck.any { it in myKeys }
}
internal fun isRelevant(状态:ContractState,myKeys:Set):布尔值{
val keysToCheck=何时(状态){
is OwnableState->listOf(state.owner.owningKey)
else->state.participants.map{it.owningKey}
}
返回keystecheck.any{it in myKeys}
}
简言之:
- 对于
,如果OwnableState
对应于节点的一个键,则节点将存储状态OwnableState.owner
- 对于
和任何其他ContractState
子类,如果ContractState
包含节点的一个键ContractState,则节点将存储状态。参与者