這是用於讀寫集語義的文檔http://hyperledger-fabric.readthedocs.io/en/latest/readwrite.html,這意味着如果多個事務在同一個塊中爲某個鍵寫入值,則只有第一個將通過驗證並生效。許多事務因Fabric中的讀寫集當前設計而失敗
我已經做了通過使用Java SDK的一些測試中,我使用的鏈碼是github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02,我初始化chaincode爲: instantiateProposalRequest.setArgs(新的String [ ] {「a」,「300」,「b」,「200」)}); 然後我使用for循環連續發送3個事務(每個事務將從a移動到10),並將它們放在同一個塊中。在塊被對等體持久化後,我查詢b的值是210而不是230,並且我檢查了這三個事務的ValidationCode,只有第一個是0,這意味着成功,其他都是11.這個結果與文檔完全匹配。
但是在同一個塊中多次更改相同密鑰的值是非常正常的情況。例如,有一個慈善申請,所有的人都會把錢轉到慈善組織的單一賬戶,而且TPS很高,這將是一個問題。
在文檔的末尾,它提到了關於具有多個讀寫集的事務尚不受支持。誰可以更詳細地解釋它?它能解決這個問題嗎?
非常感謝您的回答和建議。我提出這個問題的原因如下:1.來自金融界的許多公司加入我們的超級計劃項目,包括金融科技公司,投資銀行和商業公司。這些組織中的大部分應用都與資產管理相關,就像您所說的「加密貨幣式」一樣。 2.面料擁有衆多人們想要的許多奇特功能,其他類型的區塊鏈系統遠不是現實中的需求。我們相信織物會越來越強大:) – yihuang