Kontensaldenkonsolidierung planen
Wenn Sie das Feature "Vertrauliche Zahlungen" verwenden, müssen Sie die Kontensaldenkonsolidierung regelmäßig planen.
Um die Kontostände im gesamten Netzwerk korrekt zu halten, verwendet eine Token Admin
oder Org Admin
den REST-API-Endpunkt scheduleTransactions
in Oracle Blockchain Platform, um die Methoden consolidateRunningBalanceInTransactions
und processSendersAndReceivers
regelmäßig auszuführen. Weitere Informationen finden Sie unter Auszuführende Transaktion planen.
consolidateRunningBalanceInTransactions
Im vertraulichen Modus wird der laufende Saldo von Absender- und Empfängerkonten nicht in einem Transaktionsdatensatz gespeichert. Stattdessen wird der laufende Saldo regelmäßig berechnet, und die Transaktionsdatensätze werden aktualisiert. Wenn die API consolidateRunningBalanceInTransactions
ausgeführt wird, werden alle Transaktionen (öffentlich und privat) identifiziert, bei denen kein laufender Saldo verarbeitet wurde, und die laufenden Salden der Absender- und Empfängerkonten werden berechnet und gespeichert. Verwenden Sie den API-Endpunkt scheduleTransactions
in Oracle Blockchain Platform wie unten gezeigt, um die regelmäßige Ausführung der API consolidateRunningBalanceInTransactions
zu planen.
- Endpunkt
/restproxy/api/v2/channels/{channelName}/scheduleTransactions
- Anforderungsbody
curl --location '<rest_server_url:port>/restproxy/api/v2/channels/{channelName}/scheduleTransactions' \ --header 'Content-Type: application/json' \ --header 'Confidential-Transaction: true' \ --header 'Authorization: ••••••' \ --data '{ "chaincode": "{ChaincodeName}", "args": [ "consolidateRunningBalanceInTransactions" ], "timeout": 6000, "sync": true, "intervalType": { "time": 2 }, "expiry": "120M", "sameOrgEndorser": true }'
processSendersAndReceivers
Im vertraulichen Modus umfassen Übertragungen zwischen Organisationen zwei private Datensammlungen. Anstatt das Kontotasten/Wert-Paar zu ändern, wird für Lastschriften ein Absenderobjekt erstellt und für Gutschriften ein Empfängerobjekt erstellt. Der Saldo wird im Absenderobjekt platziert. Der gutgeschriebene Betrag wird im Empfängerobjekt platziert, das dem Empfänger zugewiesen ist. Wenn der Lastschriftvorgang abgeschlossen ist, wird das Absenderobjekt nicht mehr verwendet und kann gelöscht werden. Ebenso kann das Empfängerobjekt gelöscht werden, nachdem der Saldo vom Empfängerobjekt auf das Konto des Empfängers verschoben wurde. Die processSendersAndReceivers
identifiziert alle verarbeiteten Absenderobjekte und löscht sie. Er identifiziert auch alle Empfängerobjekte, die einen Saldo enthalten, verschiebt den Saldo in das Kontoschlüssel/Wert-Paar des entsprechenden Empfängers und löscht dann das Empfängerobjekt. Verwenden Sie den API-Endpunkt scheduleTransactions
in Oracle Blockchain Platform wie unten gezeigt, um die regelmäßige Ausführung der API processSendersAndReceivers
zu planen.
- Endpunkt
/restproxy/api/v2/channels/{channelName}/scheduleTransactions
- Anforderungsbody
curl --location '<rest_server_url:port>/restproxy/api/v2/channels/<channel_name>/scheduleTransactions'\ --header 'Content-Type: application/json' \ --header 'Confidential-Transaction: true' \ --header 'Authorization: ••••••' \ --data '{ "chaincode": "{ChaincodeName}", "args": [ "processSendersAndReceivers" ], "timeout": 6000, "sync": true, "intervalType": { "time": 2 }, "expiry": "120M", "sameOrgEndorser": true }'