2017-09-04 23 views
1

我使用QueryableState在corda中創建了自定義表。例如IOUStates表。 我可以看到存儲在這種表中的自定義信息。但我發現如果A方和B方正在進行交易,則這個定製信息被存儲在兩個地方,例如, IOUStates 表在nodeA分類帳和NodeB分類帳中創建。 和自定義信息存儲在partyA和PartyB的分類帳中。如何在corda中只存儲節點特定的總賬自定義數據?

我的問題是: -

如果一些交易正從甲方的節點處理,然後 我要存儲交易數據,即自定義數據只在甲方的總帳的一部分*水平。即只有部分A的分類帳。

它不應該與partyB共享。

在簡單的情況下,如何存儲只有節點專用的分類帳自定義數據?

等待回覆...

謝謝。

回答

0

有多種方式來實現這一目標:

  1. 不要使用琴絃在所有!如果數據真的沒有分類,那麼你爲什麼使用Corda?而應將其存儲在單獨的數據庫中。當然,如果需要,您可以使用分類賬數據「加入」,因爲分類賬數據存儲在SQL數據庫中。
  2. 與第一點類似,但您可以使用ServiceHubjdbcSession()功能在節點的數據庫中創建自定義表。這個表格可以很容易地從您的流程中訪問。
  3. 創建一個ContractState對象,該對象只有一個參與者:要存儲數據的節點。我稱之爲「單邊」國家,即只有一方存儲的國家。

最重要的是,如果您不想與對方分享一些數據,那麼它絕對不應該透露給另一方可能看到的corda狀態對象或附件。代替:

  • 您的流內,則可以使用該共享狀態對象(例如,IOU)中封裝該數據以導出專用數據
  • 可選地,如果被提供的數據時,流程開始然後存儲私人數據本地使用上述方法之一
+1

感謝您的回覆.. – Jayant

相關問題