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

时间:2018-09-12 07:49:36

标签: corda

我有一个PurchaseOrder state,其中主键为PurchaseOrderIDSupplierName

我还有一个LetterOfCredit state,需要引用上述状态,以便如果我们有PurchaseOrder可以从保险库中获得LetterOfCredit state

  • 所以一种方法是我将PurchaseOrderIDSupplierName存储在 也LetterOfCredit
  • 或者我可以存储其中的UniqueIdentifier PurchaseOrder state中的LetterOfCredit state
  • 或者我生成一个唯一的 transactionID我本人,并在两个州作为一个单独的字段存储。

哪种方法应该正确?

问题2:如果我采用第二种方法,那么从[UniqueIdentifierexternal id]生成id来从库中查询状态是正确的。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

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