Corda 将UniqueIdentifier存储为对其他状态的引用

Corda 将UniqueIdentifier存储为对其他状态的引用,corda,Corda,我有一个PurchaseOrder状态,其中主键是PurchaseOrderID和SupplierName 我还有另一个LetterOfCredit state,需要参考上述状态,以便我们可以从vault中获取PurchaseOrder,如果我们有LetterOfCredit state 因此,一种方法是将PurchaseOrderID和SupplierName存储在 信用证也 或者我可以存储 信用证状态中的采购订单状态 或者我生成一个唯一的 transactionIDI,并将其作为单独的字段

我有一个
PurchaseOrder状态
,其中主键是
PurchaseOrderID
SupplierName

我还有另一个
LetterOfCredit state
,需要参考上述状态,以便我们可以从vault中获取
PurchaseOrder
,如果我们有
LetterOfCredit state

  • 因此,一种方法是将
    PurchaseOrderID
    SupplierName
    存储在
    信用证
  • 或者我可以存储
    信用证状态中的采购订单状态
  • 或者我生成一个唯一的
    transactionID
    I,并将其作为单独的字段存储在两种状态中
哪一种应该是正确的方法

问题2:如果我采用第二种方法,那么从[
外部id
id
]生成
唯一标识符
以从vault查询状态是否正确


感谢您的帮助。

如果您的
采购订单
状态为线性状态,则它将唯一标识为
linearId
,它恰好是一个
唯一标识符
。现在,您可以从
UniqueIdentifier()
随机生成标识符,也可以将externalId(您希望使用它与上游系统同步)传递给它,然后使用
UniqueIdentifier.fromString(externalId)
返回UniqueIdentifier。
按照第二种方法,从externalId获取UniqueIdentifier,如上所述。

如果您的
purchaseOrder
状态是一个线性状态,那么它将被唯一标识为
linearId
,它恰好是一个
UniqueIdentifier
。现在,您可以从
UniqueIdentifier()
随机生成标识符,也可以将externalId(您希望使用它与上游系统同步)传递给它,然后使用
UniqueIdentifier.fromString(externalId)
返回UniqueIdentifier。
按照第二种方法,如上所述从externalId获取UniqueIdentifier。

谢谢,我错过了这个方法
UniqueIdentifier.fromString(externalId)
谢谢,我错过了这个方法
UniqueIdentifier.fromString(externalId)