Modello transazioni riservate
La versione avanzata di Blockchain App Builder include un attributo modello che genera metodi aggiuntivi per la modalità riservata.
Se si include il parametro confidential: true nel file di specifica per i token che utilizzano lo standard Token Taxonomy Framework esteso, Blockchain App Builder genera un codice concatenato da utilizzare in modalità riservata, incluse le seguenti versioni modificate dei metodi SDK e generati automaticamente standard (solo TypeScript).
Per ulteriori informazioni sulle transazioni riservate e sullo scenario CBDC (Commercio all'ingrosso valuta digitale banca centrale) riservato, vedere Valuta digitale banca centrale all'ingrosso con transazioni riservate.
Nella tabella seguente vengono riepilogati i metodi generati quando si esegue lo scaffold di un progetto Token Taxonomy Framework in modalità riservata.
| Categoria metodo | Metodo generato automaticamente | Metodo SDK | Descrizione |
|---|---|---|---|
| Gestione del controllo dell'accesso | isTokenAdmin |
isUserTokenAdmin |
Restituisce true se il chiamante è un amministratore |
addTokenAdmin |
addTokenAdmin |
Aggiunge un amministratore | |
removeTokenAdmin |
removeTokenAdmin |
Rimuove un amministratore | |
|
getAllTokenAdmins |
Restituisce tutti gli amministratori | |
addOrgAdmin |
addOrgAdmin |
Aggiunge un amministratore organizzazione | |
removeOrgAdmin |
removeOrgAdmin |
Rimuove un amministratore organizzazione | |
|
getAllOrgAdmins |
Restituisce tutti gli amministratori organizzazione | |
addTokenAuditor |
addTokenAuditor |
Aggiunge un revisore | |
removeTokenAuditor |
removeTokenAuditor |
Rimuove un auditor | |
|
getAllTokenAuditors |
Restituisce tutti i revisori | |
addOrgAuditor |
addOrgAuditor |
Aggiunge un revisore organizzazione | |
removeOrgAuditor |
removeOrgAuditor |
Rimuove un auditor organizzazione | |
|
getAllOrgAuditors |
Restituisce tutti i revisori organizzazione | |
| Gestione token | |
getAllTokens |
Restituisce tutti gli asset token |
|
getDecimals |
Restituisce il numero di cifre decimali per un token specificato | |
|
history |
Restituisce la cronologia di un token | |
|
getTokensByName |
Restituisce tutti gli asset token per un nome token specificato | |
| Gestione account | createAccount |
createAccount |
Crea un account utente |
associateTokenToAccount |
associateToken |
Associa un account a un token | |
getAllAccounts |
getAllAccounts |
Restituisce i dettagli di tutti gli account utente | |
getAllOrgAccounts |
getAllOrgAccounts |
Restituisce i dettagli di tutti gli account utente di un'organizzazione | |
getAccountsByUser |
getAccountsByUser |
Restituisce tutti gli ID account per un utente | |
getUserByAccountId |
getUserByAccountId |
Restituisce i dettagli utente per un ID account | |
getAccount |
getAccountWithStatus |
Restituisce i dettagli di un account token | |
getAccountDetailsByCustomAccountId |
getAccountDetailsByCustomAccountId |
Restituisce i dettagli del conto per un ID account personalizzato | |
getAccountBalance |
getAccountBalance |
Restituisce il saldo corrente di un conto | |
getAccountStatus |
getAccountStatus |
Restituisce lo stato di un conto | |
getAccountStatusHistory |
history |
Restituisce la cronologia di un account token | |
activateAccount |
activateAccount |
Attiva un account token | |
suspendAccount |
suspendAccount |
Sospende un account token | |
deleteAccount |
deleteAccount |
Elimina un account token | |
setMaxDailyAmount |
setMaxDailyAmount |
Imposta la quantità massima di token che un utente può trasferire giornalmente | |
setMaxDailyTransactionCount |
setMaxDailyTransactionCount |
Imposta il numero massimo di transazioni che un utente può completare giornalmente | |
getMaxDailyAmount |
getMaxDailyAmount |
Restituisce la quantità massima di token che un utente può trasferire giornalmente | |
getMaxDailyTransactionCount |
getMaxDailyTransactionCount |
Restituisce il numero massimo di transazioni che un utente può completare giornalmente | |
getAccountOnHoldBalance |
getAccountOnHoldBalance |
Restituisce il saldo in sospeso corrente per un conto | |
| Gestione ruoli | addRole |
addRoleMember |
Aggiunge un ruolo a un utente |
removeRole |
removeRoleMember |
Rimuove un ruolo da un utente | |
getAccountsByRole |
getAccountsByRole |
Restituisce gli ID conto per un ruolo specificato | |
getOrgAccountsByRole |
getOrgAccountsByRole |
Restituisce gli ID conto per un ruolo specificato in un'organizzazione | |
getUsersByRole |
getUsersByRole |
Restituisce una lista di utenti per un ruolo specificato | |
getOrgUsersByRole |
getOrgUsersByRole |
Restituisce un elenco di utenti per un ruolo specificato in un'organizzazione | |
isInRole |
isInRole |
Restituisce se un utente dispone di un ruolo specificato | |
| Gestione delle transazioni | getAccountTransactionHistory |
getAccountTransactionHistory |
Restituisce la cronologia delle transazioni per un conto |
getAccountTransactionHistoryWithFilters |
getAccountTransactionHistoryWithFilters |
Restituisce la cronologia delle transazioni filtrate per un conto | |
getAccountTransactionHistoryWithFiltersFromRichHistDB |
getAccountTrxHistoryWithFiltersFromRichHistDB |
Restituisce la cronologia delle transazioni filtrate dal database della cronologia avanzata per un conto | |
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB |
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB |
Restituisce la cronologia delle transazioni filtrate dal database della cronologia avanzata per un'organizzazione | |
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB |
getAllAccountsTrxHistoryWithFiltersFromRichHistDB |
Restituisce la cronologia delle transazioni filtrate dal database della cronologia avanzata per tutti i conti | |
consolidateRunningBalanceInTransactions |
consolidateRunningBalanceInTransactions |
Aggiorna i saldi conto in esecuzione per le transazioni in sospeso | |
processSendersAndReceivers |
processSendersAndReceivers |
Aggiorna i saldi dei conti durante i trasferimenti tra organizzazioni | |
deleteHistoricalTransactions |
deleteTransactions |
Elimina le transazioni meno recenti | |
getTransactionById |
getTransactionById |
Restituisce la cronologia di un asset transazione | |
| Comportamento minimo | requestMint |
|
Richieste di emissione dei token |
approveMint |
|
Approva una richiesta di zecca | |
rejectMint |
|
Rifiuta una richiesta mint | |
issueTokens |
issueTokens |
Token minuti | |
getTotalMintedTokens |
getTotalMintedTokens |
Restituisce il numero totale di token coniati | |
getNetTokens |
getNetTokens |
Restituisce la quantità netta di token disponibili | |
| Comportamento trasferibile | transferTokens |
transferTokens |
Trasferisce i token |
| Comportamento bloccabile | holdTokens |
hold |
Mette in sospeso un saldo token |
executeHoldTokens |
executeHold |
Completa un blocco token | |
releaseHoldTokens |
releaseHold |
Rilascia un blocco token | |
getOnHoldIds |
getOnHoldIds |
Restituisce tutti gli ID di deposito per un conto | |
getOnHoldDetailsWithOperationId |
getOnHoldDetailsWithOperationId |
Restituisce i dettagli della transazione in sospeso per un ID operazione | |
getOnHoldBalanceWithOperationId |
getOnHoldBalanceWithOperationId |
Restituisce il saldo in sospeso per un ID operazione | |
| Comportamento masterizzabile | requestBurn |
|
Richieste che i token vengano eliminati |
approveBurn |
|
Approva una richiesta di burn | |
rejectBurn |
|
Rifiuta una richiesta di burn | |
| Trasferimenti tra le organizzazioni | executeHoldTokensSender |
executeHoldTokensSender |
Detrae i token dal conto del mittente |
executeHoldTokensReceiver |
executeHoldTokensReceiver |
Accredita i token al conto di un ricevente |
Metodi TypeScript modificati per codice concatenato riservato
Se si include il parametro confidential: true nel file di specifica per i token che utilizzano lo standard Token Taxonomy Framework esteso, Blockchain App Builder genera versioni modificate dei metodi generati automaticamente standard e metodi aggiuntivi.
-
isTokenAdmin - Questo metodo restituisce il valore booleano
truese il chiamante della funzione èToken Admin, altrimenti restituiscefalse. UnToken Admin,Token Auditor, qualsiasiOrg Admino qualsiasiOrg Auditorpuò chiamare questa funzione su qualsiasi altro utente della rete blockchain. Altri utenti possono chiamare questo metodo solo sui propri account. -
addTokenAdmin - Questo metodo aggiunge un utente come
Token Admindel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeTokenAdmin - Questo metodo rimuove un utente come
Token Admindel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. -
addOrgAdmin - Questo metodo aggiunge un utente come
Org Admindell'organizzazione. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeOrgAdmin - Questo metodo rimuove un utente come
Org Admindell'organizzazione. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. -
addTokenAuditor - Questo metodo aggiunge un utente come
Token Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeTokenAuditor - Questo metodo rimuove un utente come
Token Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. -
addOrgAuditor - Questo metodo aggiunge un utente come
Org Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken AdminoOrg Admindel codice concatenato. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeOrgAuditor - Questo metodo rimuove un utente come
Org Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken AdminoOrg Admindel codice concatenato. -
createAccount - Questo metodo crea un account per un utente e un token specificati. È necessario creare un account per qualsiasi utente che avrà token in qualsiasi momento. I conti tengono traccia dei saldi, dei saldi in sospeso e della cronologia delle transazioni. Un ID account è costituito dalla concatenazione del tipo di asset e dell'ID token, quindi dalla creazione di un hash SHA-256 su una concatenazione dell'ID organizzazione e dell'ID utente. Questo metodo può essere chiamato solo da un
Token Admino da unOrg Admindell'organizzazione specificata. -
associateTokenToAccount - Questo metodo associa un token fungibile a un account. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione pertinente. -
getAllAccounts - Questo metodo restituisce un elenco di tutti i conti. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor. Questo metodo utilizza query avanzate SQL DB Berkeley e può essere richiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform. -
getAllOrgAccounts - Questo metodo restituisce un elenco di tutti i conti token appartenenti a un'organizzazione specificata. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
getAccountsByUser - Questo metodo restituisce un elenco di tutti gli ID account per un ID organizzazione e un ID utente specificati. Questo metodo può essere chiamato solo da
Token AdminoToken Auditor, daOrg AdminoOrg Auditordell'organizzazione specificata, o daAccount Ownerspecificato nei parametri. -
getUserByAccountId - Questo metodo restituisce i dettagli utente (
org_ideuser_id) per un account specificato. Questo metodo può essere chiamato da unToken AdminoToken Auditor, o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
getAccount - Questo metodo restituisce i dettagli per un conto specificato. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
getAccountDetailsByCustomAccountId - Questo metodo restituisce i dettagli per un ID account personalizzato specificato. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
getAccountBalance - Questo metodo restituisce il saldo corrente per un conto specificato. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
getAccountStatus - Questo metodo ottiene lo stato corrente dell'account token. Questo metodo può essere chiamato dal
Token Admindel codice concatenato, unOrg Admindell'organizzazione specificata, o dal proprietario dell'account token. -
getAccountStatusHistory - Questo metodo recupera la cronologia dello stato dell'account. Questo metodo può essere chiamato dal
Token Admindel codice concatenato, unOrg Admindell'organizzazione specificata, o dal proprietario dell'account token. -
activateAccount - Questo metodo attiva un account token. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. Impossibile attivare gli account eliminati. -
suspendAccount - Questo metodo sospende un account token. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. Dopo la sospensione di un account, non è possibile completare alcuna operazione di aggiornamento dell'account. Impossibile sospendere un account eliminato. -
deleteAccount - Questo metodo elimina un account token. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. Dopo l'eliminazione di un account, non è possibile completare alcuna operazione di aggiornamento dell'account. L'account eliminato è in stato finale e non può essere modificato in nessun altro stato. Per eliminare un conto, il saldo del conto e il saldo in sospeso devono essere pari a zero. -
setMaxDailyAmount - Questo metodo imposta il valore
max_daily_amountper un account specificato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. -
setMaxDailyTransactionCount - Questo metodo imposta il valore
max_daily_transactionsper un account specificato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. -
getMaxDailyAmount - Questo metodo ottiene il valore
max_daily_amountper un account specificato. Questo metodo può essere chiamato solo da unToken AdminoToken Auditordel codice concatenato o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
getMaxDailyTransactionCount - Questo metodo ottiene il valore
max_daily_transactionsper un account specificato. Questo metodo può essere chiamato solo da unToken AdminoToken Auditordel codice concatenato o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
getAccountOnHoldBalance - Questo metodo restituisce il saldo in sospeso corrente per un conto specificato. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
addRole - Questo metodo aggiunge un ruolo a un utente e a un token specificati. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione specificata che detiene anche il ruolo specificato. -
removeRole - Questo metodo rimuove un ruolo da un utente e da un token specificati. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione specificata che detiene anche il ruolo specificato. -
getAccountsByRole - Questo metodo restituisce un elenco di tutti gli ID account per un ruolo e un token specificati. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor. -
getOrgAccountsByRole - Questo metodo restituisce un elenco di tutti gli ID account per un ruolo, un token e un'organizzazione specificati. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
getUsersByRole - Questo metodo restituisce un elenco di tutti gli utenti per un ruolo e un token specificati. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor. -
getOrgUsersByRole - Questo metodo restituisce un elenco di tutti gli utenti per un ruolo, un token e un'organizzazione specificati. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, o da unOrg AdminoOrg Auditordell'organizzazione specificata. -
isInRole - Questo metodo restituisce un valore booleano per indicare se un utente dispone di un ruolo specificato. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditor, ilAccountOwnerdell'account, o unOrg AdminoOrg Auditordell'organizzazione specificata. -
getAccountTransactionHistory - Questo metodo restituisce un array di dettagli della cronologia delle transazioni conto per un conto specificato. Questo metodo può essere chiamato solo da
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
getAccountTransactionHistoryWithFilters - Questo metodo restituisce un array filtrato di dettagli della cronologia delle transazioni account per un utente e un token specificati. Questo metodo può essere chiamato solo da
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. Questo metodo può essere chiamato solo quando si è connessi a una rete remota di Oracle Blockchain Platform. -
getAccountTransactionHistoryWithFiltersFromRichHistDB - Questo metodo recupera la cronologia delle transazioni dal database della cronologia avanzata. Questo metodo può essere chiamato solo da
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB - Questo metodo recupera la cronologia delle transazioni dal database della cronologia avanzata per l'organizzazione specificata. Questo metodo può essere chiamato solo da
Token AdminoToken Auditor, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB - Questo metodo recupera la cronologia delle transazioni dal database della cronologia avanzata per tutte le organizzazioni. Questo metodo può essere chiamato solo da
Token AdminoToken Auditor. -
deleteHistoricalTransactions - Questo metodo elimina le transazioni meno recenti dal database di stato. Questo metodo può essere chiamato solo da un
Token Admin. -
getTransactionById - Questo metodo restituisce la cronologia di un asset
Transaction. Questo metodo può essere chiamato solo da unToken AdminoToken Auditor, da unOrg AdminoOrg Auditordell'organizzazione specificata, o da un partecipante alla transazione (mittente, destinatario o notaio). -
consolidateRunningBalanceInTransactions - Questo metodo calcola i saldi conto in esecuzione e salva i valori aggiornati nelle coppie chiave/valore transazione. In genere, gli amministratori di sistema chiamano questo metodo utilizzando uno scheduler proxy REST. Questo metodo può essere chiamato solo da un
Token AdminoOrg Admin. -
processSendersAndReceivers - Questo metodo calcola e aggiorna i saldi dei conti token distribuiti nelle coppie chiave/valore mittente e destinatario create durante i trasferimenti tra organizzazioni, quindi elimina le coppie chiave/valore mittente e destinatario, che non sono più utilizzate. In genere, gli amministratori di sistema chiamano questo metodo utilizzando uno scheduler proxy REST. Questo metodo può essere chiamato solo da un
Token AdminoOrg Admin. -
requestMint - Questo metodo può essere chiamato da un minter per inviare una richiesta al notaio minore per creare una quantità specificata di token.
-
approveMint - Questo metodo può essere chiamato da un notaio minore per approvare una richiesta di conio.
-
rejectMint - Questo metodo può essere chiamato da un notaio minore per rifiutare una richiesta di conio.
-
issueTokens - Questo metodo estrae i token, che sono quindi di proprietà del chiamante del metodo.
-
getTotalMintedTokens - Questo metodo restituisce il numero totale di token coniati per un token specificato. Questo metodo può essere chiamato solo da
Token Admin,Token Auditor,Org AdminoOrg Auditor. -
getNetTokens - Questo metodo restituisce il numero netto totale di token disponibili nel sistema per un token specificato. Il totale token netto è la quantità di token rimanenti dopo la masterizzazione dei token. In forma di equazione: token netti = token coniati totali - token bruciati totali. Se non vengono bruciati token, il numero di token netti è uguale al totale dei token coniati. Questo metodo può essere chiamato solo da
Token Admin,Token Auditor,Org AdminoOrg Auditor. -
transferTokens - Questo metodo trasferisce i token dal chiamante a un account specificato.
-
holdTokens - Questo metodo crea un blocco per conto del chiamante (proprietario dei token) con l'account
to_account_id. L'account notaio specificato è responsabile del completamento o del rilascio del blocco. Quando viene creato il blocco, il saldo del token specificato dal responsabile pagamento viene bloccato. Impossibile trasferire un saldo bloccato finché il blocco non viene completato o rilasciato. -
executeHoldTokens - Questo metodo completa il blocco di un token. Una quantità di token precedentemente detenuti da un proprietario di token viene trasferita a un ricevente. Se il valore
quantityè inferiore al valore di blocco effettivo, l'importo rimanente sarà nuovamente disponibile per il proprietario originale dei token. Questo metodo può essere richiamato solo dall'IDAccountOwnercon il ruolonotaryper l'ID operazione specificato. La presa può essere completata solo dal notaio. -
releaseHoldTokens - Questo metodo rilascia un blocco sui token. Il trasferimento non è stato completato e tutti i token bloccati sono di nuovo disponibili per il proprietario originale. Questo metodo può essere richiamato dall'ID
AccountOwnercon il ruolonotaryentro il limite di tempo specificato o dal responsabile pagamento, dal beneficiario o dal notaio dopo il limite di tempo specificato. -
getOnHoldIds - Questo metodo restituisce un elenco di tutti gli ID azienda per un conto specificato. Questo metodo può essere chiamato da un
Token AdminoToken Auditordel codice concatenato, unOrg AdminoOrg Auditordell'organizzazione specificata, o ilAccountOwnerdell'account. -
getOnHoldDetailsWithOperationId - Questo metodo restituisce i dettagli della transazione in sospeso per un ID operazione e un token specificati. Questo metodo può essere chiamato da un
Token AdminoToken Auditordel codice concatenato o da un partecipante alla transazione (mittente, destinatario, notaio). -
getOnHoldBalanceWithOperationId - Questo metodo restituisce il saldo in sospeso per un ID operazione e un token specificati. Questo metodo può essere chiamato da un
Token AdminoToken Auditordel codice concatenato o da un partecipante alla transazione (mittente, destinatario, notaio). -
requestBurn - Questo metodo può essere chiamato da un bruciatore per inviare una richiesta al notaio del bruciatore per distruggere una determinata quantità di token.
-
approveBurn - Questo metodo può essere chiamato da un notaio bruciatore per approvare una richiesta di masterizzazione.
-
rejectBurn - Questo metodo può essere chiamato da un notaio bruciatore per rifiutare una richiesta di masterizzazione.
TypeScript Metodi per trasferimenti tra organizzazioni
I trasferimenti tra organizzazioni hanno due parti: prima l'importo viene addebitato dal mittente e poi l'importo viene accreditato al destinatario. Le due API seguenti vengono chiamate insieme come transazione atomica utilizzando l'API di commit a due fasi del proxy REST di Oracle Blockchain Platform. I trasferimenti riservati vengono effettuati in questo modo perché le raccolte di dati private delle due organizzazioni sono distinte e non è possibile accedervi in una singola transazione.
Entrambe le transazioni vengono inviate utilizzando l'API di commit a due fasi del proxy REST. Per ulteriori informazioni, vedere Richiama transazione atomica.
https://test-xyz-abc.blockchain.ocp.oraclecloud.com:7443/restproxy/api/v2/atomicTransactions. È necessario inviare tutte le intestazioni essenziali, comprese quelle seguenti.- Content-Type: application/json
- Confidential-Transaction: trueNel corpo della richiesta, includere i metodi executeHoldTokensSendere executeHoldTokensReceiver come mostrato nella seguente richiesta.{
"transactions": [
{
"chaincode": "<chaincode>",
"args": [
"executeHoldTokensSender"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : <Sender's endorsers List>,
"channel":"<channel name>"
},
{
"chaincode": "<chaincode name>",
"args": [
"executeHoldTokensReceiver"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : <Recipient endorsers List>,
"channel":"<channelName>"
}
],
"isolationLevel": "readCommitted",
"prepareTimeout": 10000,
"copyInputsToTransientMap": true,
"sync": true,
"parallelPrepare": true
}{
"transactions": [
{
"chaincode": "WholesaleCBDCConfidential",
"args": [
"executeHoldTokensSender"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : ["org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009"],
"channel":"default"
},
{
"chaincode": "WholesaleCBDCConfidential",
"args": [
"executeHoldTokensReceiver"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : ["org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009"],
"channel":"default"
}
],
"isolationLevel": "readCommitted",
"prepareTimeout": 10000,
"copyInputsToTransientMap": true,
"sync": true,
"parallelPrepare": true
}-
executeHoldTokensSender - Questo metodo può essere richiamato solo dall'utente con il ruolo notarile per l'ID operazione specificato. Questo metodo è la prima parte di un'approvazione di un trasferimento tra organizzazioni. L'importo specificato viene detratto dal conto del mittente.
-
executeHoldTokensReceiver - Questo metodo può essere richiamato solo dall'utente con il ruolo notarile per l'ID operazione specificato. Questo metodo è la seconda parte di un'approvazione di un trasferimento tra organizzazioni. L'importo specificato viene accreditato sul conto del ricevente.
Metodi SDK TypeScript modificati per codice concatenato riservato
Se si include il parametro confidential: true nel file di specifica per i token che utilizzano lo standard Token Taxonomy Framework esteso, Blockchain App Builder genera versioni modificate dei metodi SDK standard e metodi aggiuntivi.
-
isUserTokenAdmin - Questo metodo restituisce il valore booleano
truese il chiamante della funzione è un valoreToken Admin. Altrimenti, il metodo restituiscefalse. -
addTokenAdmin - Questo metodo aggiunge un utente come
Token Admindel codice concatenato del token. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeTokenAdmin - Questo metodo rimuove un utente come
Token Admindel codice concatenato del token. -
getAllTokenAdmins - Questo metodo restituisce un elenco di tutti gli utenti che sono un
Token Admindel codice concatenato. -
addOrgAdmin - Questo metodo aggiunge un utente come
Org Admindell'organizzazione. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeOrgAdmin - Questo metodo rimuove un utente come
Org Admindell'organizzazione. -
getAllOrgAdmins - Questo metodo restituisce un elenco di tutti gli utenti che sono un
Org Admindi un'organizzazione. -
addTokenAuditor - Questo metodo aggiunge un utente come
Token Auditordel codice concatenato. Poiché il valoreuser_idè memorizzato nel registro pubblico, non utilizzare alcuna informazione di identificazione personale (PII) per il valoreuser_id. -
removeTokenAuditor - Questo metodo rimuove un utente come
Token Auditordel codice concatenato. -
getAllTokenAuditors - Questo metodo restituisce tutti i valori
Token Auditorsdel codice concatenato. -
addOrgAuditor - Questo metodo aggiunge un utente come
Org Auditordel codice concatenato. -
removeOrgAuditor - Questo metodo rimuove un utente come
Org Auditordel codice concatenato. -
getAllOrgAuditors - Questo metodo restituisce tutti i valori
Org Auditorsdel codice concatenato. -
getAllTokens - Questo metodo restituisce tutti gli asset token salvati nel database di stato. Questo metodo utilizza query avanzate SQL DB Berkeley e può essere richiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform.
-
getDecimals - Questo metodo restituisce il numero di posizioni decimali disponibili per un token frazionario. Se il comportamento
divisiblenon è specificato, il valore predefinito è 0. -
history - Questo metodo restituisce la cronologia per il token specificato.
-
getTokensByName - Questo metodo restituisce tutti gli asset token con il nome specificato. Questo metodo utilizza query avanzate SQL DB Berkeley e può essere richiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform.
-
createAccount - Questo metodo crea un account per un utente e un token specificati. Ogni utente che ha token in qualsiasi momento deve avere un account.
-
associateToken - Questo metodo associa un token fungibile a un account.
-
getAllAccounts - Questo metodo restituisce un elenco di tutti i conti. Questo metodo utilizza query avanzate SQL DB Berkeley e può essere richiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform.
-
getAllOrgAccounts - Questo metodo restituisce un elenco di tutti i conti token appartenenti a un'organizzazione specificata.
-
getAccountsByUser - Questo metodo restituisce un elenco di tutti gli ID account per un utente e un'organizzazione specificati.
-
getUserByAccountId - Questo metodo restituisce i dettagli utente per un account specificato.
-
getAccountWithStatus - Questo metodo restituisce i dettagli dell'account per un utente e un token specificati.
-
getAccountDetailsByCustomAccountId - Questo metodo restituisce tutti i dettagli del conto token per un'organizzazione e un ID conto specificati.
-
getAccountBalance - Questo metodo restituisce il saldo del conto per un conto specificato.
-
getAccountStatus - Questo metodo ottiene lo stato corrente dell'account token.
-
history (Account Status) - Questo metodo recupera la cronologia dello stato dell'account.
-
activateAccount - Questo metodo attiva un account token. Impossibile attivare gli account eliminati.
-
suspendAccount - Questo metodo sospende un account token. Dopo la sospensione di un account, non è possibile completare alcuna operazione di aggiornamento dell'account. Impossibile sospendere un account eliminato.
-
deleteAccount - Questo metodo elimina un account token. Dopo l'eliminazione di un account, non è possibile completare alcuna operazione di aggiornamento dell'account. L'account eliminato è in stato finale e non può essere modificato in nessun altro stato. Per eliminare un conto, il saldo del conto e il saldo in sospeso devono essere pari a zero.
-
setMaxDailyAmount - Questo metodo imposta il valore
max_daily_amountper un account specificato. -
setMaxDailyTransactionCount - Questo metodo imposta il valore
max_daily_transactionsper un account specificato. -
getMaxDailyAmount - Questo metodo ottiene il valore
max_daily_amount(l'importo massimo che può essere trasferito giornalmente) per un conto specificato. -
getMaxDailyTransactionCount - Questo metodo recupera il valore
max_daily_transactions(il numero massimo di transazioni consentite al giorno) per un conto specificato. -
getAccountOnHoldBalance - Questo metodo restituisce il saldo in sospeso per un conto specificato.
-
addRoleMember - Questo metodo aggiunge un ruolo a un account specificato.
-
removeRoleMember - Questo metodo rimuove un ruolo da un account specificato.
-
getAccountsByRole - Questo metodo restituisce un elenco di tutti gli account per un ruolo e un token specificati.
-
getOrgAccountsByRole - Questo metodo restituisce informazioni su tutti i conti con un ruolo specificato in un'organizzazione specificata.
-
getUsersByRole - Questo metodo restituisce un elenco di tutti gli utenti per un ruolo e un token specificati.
-
getOrgUsersByRole - Questo metodo restituisce informazioni su tutti gli utenti con un ruolo specificato in un'organizzazione specificata.
-
isInRole - Questo metodo indica se un utente dispone di un ruolo specificato.
-
getAccountTransactionHistory - Questo metodo restituisce un array dei dettagli della cronologia delle transazioni per un conto specificato.
-
getAccountTransactionHistoryWithFilters - Questo metodo restituisce un array dei dettagli della cronologia delle transazioni per un conto specificato. Questo metodo può essere chiamato solo quando si è connessi alla rete remota di Oracle Blockchain Platform.
-
getAccountTrxHistoryWithFiltersFromRichHistDB - Questo metodo restituisce un array dei dettagli della cronologia delle transazioni dal database della cronologia avanzata.
-
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB - Questo metodo restituisce un array dei dettagli della cronologia delle transazioni per un'organizzazione specificata dal database della cronologia avanzata.
-
getAllAccountsTrxHistoryWithFiltersFromRichHistDB - Questo metodo restituisce un array dei dettagli della cronologia delle transazioni per tutte le organizzazioni dal database della cronologia avanzata.
-
consolidateRunningBalanceInTransactions - Questo metodo calcola i saldi conto in esecuzione e salva i valori aggiornati nelle coppie chiave/valore transazione. In genere, gli amministratori di sistema chiamano questo metodo utilizzando uno scheduler proxy REST.
-
processSendersAndReceivers - Questo metodo calcola e aggiorna i saldi dei conti token distribuiti nelle coppie chiave/valore mittente e destinatario create durante i trasferimenti tra organizzazioni, quindi elimina le coppie chiave/valore mittente e destinatario, che non sono più utilizzate. In genere, gli amministratori di sistema chiamano questo metodo utilizzando uno scheduler proxy REST.
-
deleteTransactions - Questo metodo elimina le transazioni meno recenti dal database di stato.
-
getTransactionById - Questo metodo restituisce la cronologia di un asset
Transaction. -
issueTokens - Minters può chiamare questo metodo per creare una quantità specificata di token.
-
getTotalMintedTokens - Questo metodo restituisce il numero totale di token generati.
-
getNetTokens - Questo metodo restituisce la quantità netta di token disponibili nel sistema. I token netti sono la quantità di token rimanenti dopo che i token sono stati bruciati. In forma di equazione: token netti = token coniati totali - token bruciati totali. Se non vengono bruciati token, il numero di token netti è uguale al totale dei token coniati.
-
transferTokens - Questo metodo trasferisce i token dal chiamante a un account specificato. Il chiamante del metodo deve avere un account. La quantità deve essere compresa nei valori decimali specificati dal parametro
decimaldel comportamentodivisiblenel file di specifica. -
hold - Questo metodo viene utilizzato dal minter per inviare una richiesta al notaio minore per creare una quantità specificata di token. L'account notaio specificato è responsabile del completamento o del rilascio del blocco.
-
executeHold - I notai possono chiamare questo metodo per approvare un'operazione di blocco, che può essere di tre tipi: menta, masterizzazione o trasferimento.
-
releaseHold - I notai possono chiamare questo metodo per rifiutare un'operazione di blocco, che può essere di tre tipi: menta, bruciatura o trasferimento.
-
getOnHoldIds - Questo metodo restituisce un elenco di tutti gli ID azienda per un conto specificato.
-
getOnHoldDetailsWithOperationId - Questo metodo restituisce i dettagli della transazione in sospeso per un ID operazione e un token specificati.
-
getOnHoldBalanceWithOperationId - Questo metodo restituisce il saldo in sospeso per un ID operazione e un token specificati. Questo metodo può essere chiamato da chiunque.
TypeScript Metodi SDK per trasferimenti tra organizzazioni
I trasferimenti tra organizzazioni hanno due parti: prima l'importo viene addebitato dal mittente e poi l'importo viene accreditato al destinatario. Le due API seguenti vengono chiamate insieme come transazione atomica utilizzando l'API di commit a due fasi del proxy REST di Oracle Blockchain Platform. I trasferimenti riservati vengono effettuati in questo modo perché le raccolte di dati private delle due organizzazioni sono distinte e non è possibile accedervi in una singola transazione.
-
executeHoldTokensSender - Questo metodo può essere richiamato solo dall'utente con il ruolo notarile per l'ID operazione specificato. Questo metodo è la prima parte di un'approvazione di un trasferimento tra organizzazioni. L'importo specificato viene detratto dal conto del mittente.
-
executeHoldTokensReceiver - Questo metodo può essere richiamato solo dall'utente con il ruolo notarile per l'ID operazione specificato. Questo metodo è la seconda parte di un'approvazione di un trasferimento tra organizzazioni. L'importo specificato viene accreditato sul conto del ricevente.