【问题标题】:How to store only node specific off-ledger custom data in corda?如何在corda中仅存储节点特定的分类帐外自定义数据?
【发布时间】:2017-09-11 23:52:18
【问题描述】:

我使用 QueryableState 在corda 中创建了自定义表。例如IOUStates 表。 我可以看到存储在这种表中的自定义信息。 但我观察到,如果甲方和乙方正在进行交易,那么这个 自定义信息存储在这两个地方,例如借条国 在 nodeA 分类帐以及 nodeB 的分类帐上创建表。 自定义信息存储在甲方和乙方的账本中。

我的问题是:-

如果某个交易正在从甲方的节点处理,那么 我想存储部分交易数据,即自定义数据 ONLY at partyA's Ledger.* 级别。即仅partA的off-Ledger。

不应该与甲方分享。

在简单的情况下,如何仅存储特定于节点的分类帐自定义数据?

等待回复...

谢谢。

【问题讨论】:

    标签: corda


    【解决方案1】:

    有很多方法可以做到这一点:

    1. 根本不要使用 Corda!如果数据确实是账本外的,那么你为什么要使用 Corda?相反,将其存储在单独的数据库中。当然,如果需要,您可以将其与分类账数据“JOIN”,因为分类账数据存储在 SQL 数据库中。
    2. 与第一点类似,但您可以使用ServiceHubjdbcSession() 功能在节点的数据库中创建自定义表。可以从您的流程中轻松访问此表。
    3. 创建一个只有一个参与者的ContractState 对象:要存储数据的节点。我将此称为“单边”状态,即只有一方存储的状态。

    最重要的是,如果您不想与对方共享某些数据,则绝不应在另一方可能看到的 corda 状态对象或附件中披露这些数据。而是:

    • 在您的流程中,您可以使用封装在共享状态对象(例如 IOU)中的数据来派生私有数据
    • 或者,如果在流程开始时提供数据,则使用上述方法之一在本地存储私有数据

    【讨论】:

      猜你喜欢
      • 2019-12-23
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多