基本上我的州有两个政党,我想将资产(例如房屋或汽车)从一个政党转让给另一政党,或者将同一资产发行给政党,那么我该如何管理呢?
我尝试搜索文档,但找不到任何重要内容
答案 0 :(得分:0)
如果您建模或定义自己的状态,则可以决定。您所在州的某些属性设置为所有者。资产转移是一项更改此属性的当事方的交易,大概仅由所有者或授权该权力的当事方发起。
答案 1 :(得分:0)
让我们以您的House State
您的房屋状态可能看起来像这样:
@BelongsToContract(HouseContract::class)
data class HouseState (
val address: String,
val appraisal: Amount<USD>,
val owner: Party,
val participants: List<Party>,
override val linearId: UniqueIdentifier = UniqueIdentifier()
): ContractState, LinearState {
fun withNewOwner(party: Party): HouseState {
return this.copy(owner = party)
}
override val participants: List<AbstractParty> get() = players
}
}
在Corda中,状态是不可变的。您可以通过以下方式更改房屋的所有者:将输入状态标记为已消费,然后在拥有者字段已更新的情况下向分类帐上发布新的houseState。
某些州甚至具有便捷的方法(请参见上面的HouseState),该方法返回输入状态的副本,其中输入字段已更新(在本例中为所有者),以将其作为输出状态包含在事务中。