首页 > 解决方案 > 如何检查 Corda 中是否存在全局状态?

问题描述

我有一个具有全局 ID 的州。我想在发布状态之前检查状态是否已经由其他节点发布。

有没有办法可以检查整个链上的状态,或者我必须通知所有节点发布新状态?

标签: corda

解决方案


Corda 的隐私模型意味着没有可以检查具有相同 ID 的现有状态的中央“链”。

如果您只需要一个唯一的状态 ID,请使用类似的东西UniqueIdentifier,最好通过实现LinearState接口 ( https://docs.corda.net/api-states.html#linearstate )。UniqueIdentifier包含一个 128 位的唯一标识符。这足以避免LinearState网络上所有 s 之间的冲突,尽管没有分配 ID 的集中存储库。

如果这还不够好,并且必须根据某种方案而不是随机分配 ID,您将需要创建一些集中的 oracle 节点来跟踪已发布的 ID,并且只签署之前未使用过分配的 ID 的交易.


推荐阅读