Schedula consolidamento saldo conto
Quando si utilizza la funzione Pagamenti riservati, è necessario programmare regolarmente il consolidamento del saldo del conto.
Per mantenere accurati i saldi dei conti in tutta la rete, un Token Admin
o Org Admin
utilizza l'endpoint API REST scheduleTransactions
in Oracle Blockchain Platform per eseguire periodicamente i metodi consolidateRunningBalanceInTransactions
e processSendersAndReceivers
. Per ulteriori informazioni, vedere Programmazione della transazione da eseguire.
consolidateRunningBalanceInTransactions
In modalità riservata, il saldo corrente dei conti mittente e ricevente non viene memorizzato in un record transazione, mentre il saldo corrente viene calcolato periodicamente e i record transazione vengono aggiornati. Quando viene eseguita l'API consolidateRunningBalanceInTransactions
, vengono identificate e salvate tutte le transazioni (sia pubbliche che private) in cui non è stato elaborato un saldo in esecuzione e i saldi in esecuzione dei conti mittente e destinatario. Utilizzare l'endpoint API scheduleTransactions
in Oracle Blockchain Platform come mostrato di seguito per pianificare l'esecuzione periodica dell'API consolidateRunningBalanceInTransactions
.
- Endpoint
/restproxy/api/v2/channels/{channelName}/scheduleTransactions
- Corpo richiesta
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
In modalità riservata, i trasferimenti tra organizzazioni coinvolgono due raccolte di dati private. Anziché modificare la coppia chiave/valore conto, per gli addebiti viene creato un oggetto mittente e per gli accrediti viene creato un oggetto ricevente. Il saldo viene inserito nell'oggetto mittente. L'importo accreditato viene inserito nell'oggetto ricevente, che viene assegnato al destinatario. Al termine dell'operazione di addebito, l'oggetto mittente non è più in uso e può essere eliminato. Allo stesso modo, dopo che il saldo passa dall'oggetto ricevente al conto del destinatario, l'oggetto ricevente può essere eliminato. processSendersAndReceivers
identifica tutti gli oggetti mittente che sono stati elaborati e li elimina. Identifica anche tutti gli oggetti ricevente che contengono un saldo, sposta il saldo nella coppia chiave/valore del conto del destinatario corrispondente e quindi elimina l'oggetto ricevente. Utilizzare l'endpoint API scheduleTransactions
in Oracle Blockchain Platform come mostrato di seguito per pianificare l'esecuzione periodica dell'API processSendersAndReceivers
.
- Endpoint
/restproxy/api/v2/channels/{channelName}/scheduleTransactions
- Corpo richiesta
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 }'