簡體   English   中英

Hyperledger Fabric 中的借記和貸記(更改)state 數據

[英]Debiting and crediting (changing) state data in Hyperledger Fabric

Hyperledger Fabric 的所有示例似乎都集中在發布一個新的 state,它只是覆蓋了以前的 state 記錄,例如車主 A 被車主 B 替換為車 1。

不過,我還沒有找到 state 的“有狀態”更改的任何示例。 例如,當我們在 state 中有一個銀行賬戶記錄時,有余額。 我們會將借記或貸記交易發布到需要讀取帳戶當前余額並減少或增加它的分類帳。 這可能涉及鎖定帳戶 state 記錄,直到更改完成。 有沒有這方面的例子,如何在鏈碼中正確完成以確保數據一致性?

Hyperledger Fabric 有一個類似銀行轉賬例子——高吞吐量

由於讀寫集,我們不能創建一個鏈碼同時多次修改同一個鍵([MVCC_READ_CONFLICT] 錯誤)。 你可以在這里閱讀更多關於 RW 集的信息,或者這篇文章

該示例的關鍵思想是它為每個事務創建一個具有相同前綴的唯一鍵:varName~op~value~txID,其中事務參數包括:

  • 變量名稱:帳戶
  • op:+ 或 - 運算符
  • 價值:交易價值
  • txID:這將使密鑰唯一

之后,在 GET 查詢階段,它使用GetStateByPartialCompositeKey() function 來獲取這些記錄,其中包括 key 中的帳戶,然后匯總得到該帳戶的當前余額

希望這能給你一些想法!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM