如何检查Corda中是否存在全局状态?

时间:2018-10-26 08:44:59

标签: corda

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

有没有一种方法可以检查整个链上的状态,或者必须通知所有节点有关发布新状态的信息?

1 个答案:

答案 0 :(得分:1)

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

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

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