Pacchetto API wrapper CBDC all'ingrosso
Oracle Blockchain Platform Digital Assets Edition include un package API wrapper che estende l'API REST per supportare operazioni specifiche della CBDC all'ingrosso.
Il package API wrapper utilizza il servizio Gateway API e le funzioni OCI, creati utilizzando uno stack di Resource Manager su Oracle Cloud Infrastructure (OCI), per distribuire gli instradamenti API progettati specificamente per l'applicazione CBDC all'ingrosso. Il pacchetto API wrapper CBDC all'ingrosso può essere scaricato dalla console di Oracle Blockchain Platform e include i componenti riportati di seguito.
WholesaleCBDCWrapperAPI.zip
, un file di archivio che contiene il package API wrapper che include gli script Terraform necessari per la distribuzione. Distribuire questo file in uno stack di Resource Manager su OCI per creare le risorse Oracle necessarie per le API Wrapper.WholesaleCBDC_WrapperAPI.postman_collection.json
, una raccolta Postman che consente di eseguire il test delle API wrapper distribuite. La raccolta include richieste preconfigurate con endpoint e payload corrispondenti alle API definite nel package API wrapper.
API wrapper
-
activateCBDCAccount
- Nome metodo originale:
activateAccount
- Questo metodo POST attiva un account token. Questo metodo può essere chiamato solo da un
Token Admin
oOrg Admin
dell'organizzazione specificata. Impossibile attivare gli account eliminati. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dell'oggetto stato account per l'account token specificato.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
-
addCBAdmin
- Nome metodo originale:
addTokenAdmin
- Questo metodo POST aggiunge un utente come
Token Admin
del codice concatenato del token. Il metodo può essere chiamato solo da unToken Admin
del codice concatenato del token. La prima chiamata proviene dall'amministratore che crea un'istanza del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
addCBAuditor
- Nome metodo originale:
addTokenAuditor
- Questo metodo POST aggiunge gli auditor del token al codice concatenato del token. Questo metodo può essere richiamato solo dal
Token Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0", "payload": { "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } }
-
addFIAdmin
- Nome metodo originale:
addOrgAdmin
- Questo metodo aggiunge amministratori organizzazione al codice concatenato token. Questo metodo può essere chiamato solo da un
Token Admin
oOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a", "payload": { "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } }
-
addFIAuditor
- Nome metodo originale:
addOrgAuditor
- Questo metodo aggiunge revisori organizzazione al codice concatenato token. Questo metodo può essere chiamato solo da un
Token Admin
oOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 198 } }
-
addRole
- Nome metodo originale:
addRole
- Questo metodo aggiunge il ruolo all'utente e al token specificati. Gli ID account vengono formati creando un hash SHA-256 dell'ID token concatenato, dell'ID organizzazione e dell'ID utente. Questo metodo può essere chiamato solo da un
Token Admin
oOrg Admin
dell'organizzazione specificata. - Payload:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.role: string
: il nome del ruolo da aggiungere all'utente specificato.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c", "payload": { "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 201 } }
-
approveCBDCCreation
- Nome metodo originale:
approveMint
- I notai possono chiamare questo metodo POST per approvare una richiesta di menta.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token.operationId: string
: l'ID operazione univoco della richiesta di menta da approvare.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "payload": { "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 204 } }
-
approveCBDCRetirement
- Nome metodo originale:
approveBurn
- I notai possono chiamare questo metodo POST per approvare una richiesta di masterizzazione.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token.operationId: string
: l'ID operazione univoco della richiesta di menta da approvare.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "8252371040e41753fd843bd086692f4e1ee7d89ffa3a50bfa121c5f1565f922f", "payload": { "msg": "Successfully burned 1 tokens from account id: oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB, User-Id: retirer_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 209 } }
-
approveHoldCBDCTokens
- Nome metodo originale:
executeHoldTokens
- I notai chiamano questo metodo per approvare un blocco sui token, che attiva il trasferimento dei token dal pagatore al beneficiario in questo scenario aziendale. La quantità di token bloccati in precedenza dal proprietario del token viene ora trasferita al destinatario. Se il valore
quantity
è inferiore al valore di blocco effettivo, l'importo rimanente sarà nuovamente disponibile per il proprietario del token. Se il comportamentoroles
è specificato nella sezionebehaviors
del modello di token e il valorenotary_role_name
è impostato, l'account chiamante deve avere un ruolo notaio. In caso contrario, qualsiasi chiamante con un account può funzionare come notaio. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.operationId: string
: l'ID operazione univoco della richiesta di menta da approvare.quantity: number
- Il numero di token conservati da trasferire.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a", "payload": { "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } }
-
associateTokenToAccount
- Nome metodo originale:
associateTokenToAccount
- Questo metodo POST associa un ID account specificato a un token specificato. Questo metodo può essere chiamato solo da un
Token Admin
oOrg Admin
dell'organizzazione specificata. - Payload:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} }
- Parametri:
accountId: string
: l'ID del conto.tokenId: string
: l'ID del token.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090", "user_id": "cb12", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-11T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 216 } }
-
createAccount
- Nome metodo originale:
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 bloccati e della cronologia delle transazioni. Un ID account è un set alfanumerico di caratteri, preceduto dal prefisso
oaccount~<token asset name>~
e seguito da un hash del nome utente o dell'ID di posta elettronica (userId
) del proprietario dell'istanza o dell'utente che ha eseguito il login all'istanza, l'ID del provider di servizi di appartenenza (orgId
) dell'utente nell'organizzazione di rete corrente. Questo metodo può essere chiamato solo da unToken Admin
del codice concatenato o da unOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "fungible", "applicationGroups": "[\"application_groups value\"]", "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}", "endorsers": {{endorsers}} }
- Parametri:
orgId
: l'ID del provider di servizi di appartenenza (MSP) dell'utente per il quale creare l'account. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali quali i caratteri di sottolineatura (_), i punti (.), i segni @ e i trattini (-).userId
: il nome utente o l'ID e-mail dell'utente. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali quali i caratteri di sottolineatura (_), i punti (.), i segni @ e i trattini (-).tokenType: TokenType
: il tipo di token, che deve esserefungible
.applicationGroups: string[]
: lista di gruppi di applicazioni a cui appartiene l'ID utente, che definiscono le associazioni dell'utente nell'applicazione CBDC.dailyLimits: JSON object
: un oggetto JSON del tipo seguente.
Nell'esempio, il valore{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }
max_daily_amount
rappresenta la quantità massima di token che è possibile eseguire transazioni giornaliere e il valoremax_daily_transactions
rappresenta il numero massimo di transazioni che è possibile completare quotidianamente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } }
-
getAllActiveCBDCAccounts
- Nome metodo originale:
getAllActiveAccounts
- Questo metodo GET restituisce tutti i conti attivi associati all'ID token specificato.
- Query:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli utente. L'output varia in base al ruolo dell'utente, come mostrato negli esempi riportati di seguito.
- Esempio di valore restituito (amministratore token, auditor token):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } }
- Esempio di valore restituito (amministratore organizzazione, revisore organizzazione):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } }
- Esempio di valore restituito (tutti gli altri utenti):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } }
-
getAllSuspendedCBDCAccounts
- Nome metodo originale:
getAllSuspendedAccounts
- Questo metodo GET restituisce tutti gli account sospesi associati all'ID token specificato.
- Query:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli utente. L'output varia in base al ruolo dell'utente, come mostrato negli esempi riportati di seguito.
- Esempio di valore restituito (amministratore token, auditor token):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "assetType": "oaccount", "bapAccountVersion": 1, "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "user_id": "user1_fi1", "org_id": "FI1", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 5, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "Org_Users" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } }
- Esempio di valore restituito (amministratore organizzazione, revisore organizzazione):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } }
- Esempio di valore restituito (tutti gli altri utenti):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD" } } ], "encode": "JSON" } }
-
getApproverActionHistory
- Nome metodo originale:
getActionHistory
- Questo metodo GET recupera la cronologia delle approvazioni o dei rifiuti effettuati dal chiamante per operazioni di menta, masterizzazione e trasferimento (emissione), inclusi i dettagli dell'organizzazione e gli ID utente degli account coinvolti (mittente, destinatario e notaio). Questo metodo può essere chiamato solo da un
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
o dal notaio. - Query:
/getApproverActionHistory?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~eaf6", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:22.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 3, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null }, { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~0031", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:15.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 2, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null } ], "encode": "JSON" } }
-
getCBDCAccount
- Nome metodo originale:
getAccount
- Questo metodo GET restituisce i dettagli dell'account per un utente e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
dell'organizzazione specificata o dalAccountOwner
dell'account. - Query:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON" } }
-
getCBDCAccountBalance
- Nome metodo originale:
getAccountBalance
- Questo metodo GET restituisce il saldo corrente per un conto e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
dell'organizzazione specificata o dalAccountOwner
dell'account. /getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Current Balance is: 100", "user_balance": 100 }, "encode": "JSON" } }
-
getCBDCAccountsByUser
- Nome metodo originale:
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 un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
dell'organizzazione specificata o dalAccountOwner
dell'account. /getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
orgId string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" } ], "encode": "JSON" } }
-
getCBDCAccountTransactionHistory
- Nome metodo originale:
getAccountTransactionHistory
- Questo metodo restituisce un array di dettagli della cronologia delle transazioni conto per un utente e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
dell'organizzazione specificata o dalAccountOwner
dell'account. /getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
getAccountTransactionHistoryWithFilters
- Nome metodo originale:
getAccountTransactionHistoryWithFiltersFromRichHistDB
- Questo metodo restituisce i dettagli della cronologia delle transazioni conto dal database Rich History. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
dell'organizzazione specificata o dalAccountOwner
dell'account. /getCBDCAccountTransactionHistoryWithFilters?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.customEndpoint
: l'endpoint del servizio RESTful del database Rich History da cui recuperare la cronologia delle transazioni.bearerToken
: il token da utilizzare per chiamare l'endpoint RESTful per assicurarsi che la richiesta sia autorizzata.filters: JSON object
: parametro facoltativo. Se vuoto, vengono restituiti tutti i record. La proprietàpageSize
determina il numero di record da restituire. SepageSize
è 0, la dimensione predefinita della pagina è 20. La proprietàbookmark
determina l'indice iniziale dei record da restituire. Le proprietàstartTime
eendTime
devono essere specificate in formato RFC-3339.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
getCBDCRetiredQuantity
- Nome metodo originale:
getBurnQuantity
- Questo metodo GET restituisce la quantità totale di token masterizzati per un'organizzazione specificata. Questo metodo può essere richiamato solo da un utente
Token Admin
,Token Auditor
o con il ruolo burner. /getCBDCRetiredQuantity?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 31 }, "encode": "JSON" } }
-
getNetCBDCTokens
- Nome metodo originale:
getNetTokens
- Questo metodo GET restituisce il numero netto totale di token disponibili nel sistema per un token specificato. Il totale del token netto è la quantità di token rimanenti dopo la masterizzazione dei token. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato o da unOrg Admin
oOrg Auditor
. /getNetCBDCTokens?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Net supply of token for Token Id: USD is 878 tokens.", "quantity": 878 }, "encode": "JSON" } }
-
getOnHoldIds
- Nome metodo originale:
getOnHoldIds
- Questo metodo GET restituisce un elenco di tutti gli ID di blocco per un conto specificato. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
dell'organizzazione specificata o dalAccountOwner
dell'account. /getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315", "holding_ids": [ "ohold~cbdc~USD~8e3147", "ohold~cbdc~USD~8e315" ] }, "encode": "JSON" } }
-
getPendingCBDCIssuance
- Nome metodo originale:
getPendingIssuance
- Questo metodo recupera tutte le transazioni di emissione (trasferimento) in sospeso in cui il chiamante viene assegnato come approvatore, inclusi i dettagli dell'organizzazione e gli ID utente degli account coinvolti (mittente, destinatario e notaio). Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato, da unOrg Admin
o da unOrg Auditor
o dalNotary
. /getPendingCBDCIssuance?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "from_org_id": "CB", "from_user_id": "creator_user_cb", "holding_id": "ohold~cbdc~USD~8e314", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e314", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" }, { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594", "from_org_id": "CB", "from_user_id": "issuer_user_cb", "holding_id": "ohold~cbdc~USD~8e315", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e315", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" } ], "encode": "JSON" } }
-
getPendingCBDCRequest
- Nome metodo originale:
getPendingRequest
- Questo metodo recupera tutte le richieste in sospeso di un tipo specificato in cui il chiamante è assegnato come approvatore. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato o dalNotary
. /getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
- Parametri:
tokenId: string
: l'ID del token.requestType: string
: il tipo di transazione. Ad esempio,mint
oburn
.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~op123", "operation_id": "op123", "token_id": "USD", "token_name": "cbdc", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_id": "", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "quantity": 10, "time_to_expiration": "0", "category": "category value", "description": "description value" } } ], "encode": "JSON" } }
-
getTotalBalanceByCallerOrgId
- Nome metodo originale:
getTotalBalanceByCallerOrgId
- Questo metodo recupera il saldo totale dell'organizzazione del chiamante. Questo metodo può essere chiamato solo da un
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
o da qualsiasi proprietario di account. /getTotalCBDCBalanceByCallerOrgId
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "totalBalance": 704 } ], "encode": "JSON" } }
-
getTotalCreatedCBDCTokens
- Nome metodo originale:
getTotalMintedTokens
- Questo metodo restituisce il numero totale di token coniati per un token specificato. Questo metodo può essere chiamato solo da un
Token Admin
,Token Auditor
,Org Admin
oOrg Auditor
. - Query:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
- Parametri:
tokenId: string
: l'ID del token.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 910 tokens.", "quantity": 910 }, "encode": "JSON" } }
-
getTransactionWithBlockNumber
- Nome metodo originale:
getTransactionWithBlockNumber
- Questo metodo GET restituisce i dettagli della transazione per l'ID transazione specificato.
- Query:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
- Parametri:
tokenId: string
: l'ID del token.transactionId: string
: l'ID della transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "blockNo": 82, "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "metadata": null, "txnNo": 0, "value": null, "valueJson": { "assetType": "otransaction", "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "token_id": "USD", "from_account_id": "", "from_account_balance": 0, "from_account_onhold_balance": 0, "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_balance": 100, "to_account_onhold_balance": 0, "transaction_type": "REQUEST_MINT", "amount": 200, "timestamp": "2024-11-20T06:48:42.000Z", "number_of_sub_transactions": 0, "holding_id": "", "sub_transaction": "false", "description": "" } } ], "encode": "JSON" } }
-
getUserByCBDCAccountId
- Nome metodo originale:
getUserByAccountId
- Questo metodo restituisce i dettagli utente (
orgId
,userId
etokenId
) per un account specificato. Questo metodo può essere chiamato solo da unToken Admin
oToken Auditor
del codice concatenato o da unOrg Admin
oOrg Auditor
dell'organizzazione specificata. - Query:
/getUserByCBDCAccountId?accountId=account_id value
- Parametri:
accountId: string
: l'ID del conto.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "user_id": "admin_user_cb", "org_id": "CB" }, "encode": "JSON" } }
-
getUsersByRole
- Nome metodo originale:
getUsersByRole
- Questo metodo GET restituisce una lista di tutti gli utenti per un ruolo e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin
oToken Auditor
del codice concatenato. - Query:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
- Parametri:
tokenId: string
: l'ID del token.role: string
: il nome del ruolo da cercare.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "token_id": "USD", "user_id": "creator_user_cb", "org_id": "CB" }, { "token_id": "USD", "user_id": "cb4", "org_id": "CB" } ] }, "encode": "JSON" } }
-
holdCBDCTokens
- Nome metodo originale:
holdTokens
- Questo metodo crea un blocco per conto del proprietario dei token con l'account
to_account_id
. È specificato un conto notarile, che è 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. Il chiamante di questo metodo deve avere un account già creato. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.operationId: string
: ID univoco che identifica l'operazione di blocco. In genere questo ID viene passato dall'applicazione client.toOrgId: string
: l'ID del provider di servizi di appartenenza (MSP) del destinatario nell'organizzazione corrente.toUserId: string
: il nome utente o l'ID e-mail del destinatario.notaryOrgId: string
- ID del fornitore di servizi di appartenenza (MSP) del notaio nell'organizzazione corrente.notaryUserId: string
- Il nome utente o l'ID e-mail del notaio.quantity: number
: il numero di token da mettere in attesa.timeToExpiration
: l'ora di scadenza del blocco. Specificare 0 per un blocco permanente. In caso contrario, utilizzare il formato RFC-3339. Ad esempio, 2021-06-02T12:46:06Z.infoDetails: JSON
: la descrizione e la categoria come mostrato nell'esempio riportato di seguito.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062", "payload": { "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 211 } }
-
init
- Nome metodo originale:
init
- Questo metodo viene chiamato quando viene distribuito il codice concatenato. Le informazioni utente vengono salvate come
Token Admin
del codice concatenato. - Payload:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" }
- Parametri:
adminList array
: un array di informazioni{user_id, org_id}
che specifica la lista degli amministratori di token. L'arrayadminList
è un parametro obbligatorio.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
initializeCBDCToken
- Nome metodo originale:
initializeCBDCToken
- Questo metodo crea un token e inizializza le proprietà del token. L'asset e le relative proprietà vengono salvati nel database di stato. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato. - Payload:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}", "sameOrgEndorser": true }
- Parametri:
tokenAsset: <Token Class>
: l'asset token viene passato come parametro a questo metodo. Le proprietà dell'asset token sono descritte nel file modello.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dell'asset token creato.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8", "payload": { "assetType": "otoken", "events": false, "token_id": "t1", "token_name": "cbdc", "token_desc": "token_desc value", "token_standard": "ttf+", "token_type": "fungible", "token_unit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "holdable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner", "notary_role_name": "notary", "mint_approver_role_name": "notary", "burn_approver_role_name": "notary" }, "mintable": { "max_mint_quantity": 1000, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "currency_name": "currency_name value", "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } }
-
rejectCBDCCreation
- Nome metodo originale:
rejectMint
- Questo metodo può essere chiamato da un notaio minter per rifiutare una richiesta di conio.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token per rifiutare la coniazione.operationId: string
: l'ID operazione univoco che rappresenta la richiesta di menta.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "payload": { "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 205 } }
-
rejectCBDCRetirement
- Nome metodo originale:
rejectBurn
- Questo metodo può essere chiamato da un notaio per rifiutare una richiesta di masterizzazione.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token da rifiutare per la masterizzazione.operationId: string
: l'ID operazione univoco che rappresenta la richiesta di masterizzazione.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "474a08183986c84fe321aa925670539db3b1bc90b02fa65956ad8c771fff5bbe", "payload": { "msg": "Successfully rejected burn request with Operation Id 'burn1234' to burn 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 210 } }
-
rejectHoldCBDCTokens
- Nome metodo originale:
releaseHoldTokens
- Questo metodo POST rilascia un blocco sui token. Il trasferimento non è completato e tutti i token detenuti sono nuovamente disponibili per il proprietario originale. Questo metodo può essere richiamato dall'ID
AccountOwner
con il ruolonotary
entro il limite di tempo specificato oppure dal responsabile pagamento, dal beneficiario o dal notaio dopo il limite di tempo specificato. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.operationId: string
: ID univoco che identifica l'operazione di blocco. In genere questo ID viene passato dall'applicazione client.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380", "payload": { "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 214 } }
-
removeCBAdmin
- Nome metodo originale:
removeTokenAdmin
- Questo metodo POST rimuove un utente come
Token Admin
del codice concatenato. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. Un amministratore non può rimuovere se stesso. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739", "payload": { "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 218 } }
-
removeCBAuditor
- Nome metodo originale:
removeTokenAuditor
- Questo metodo POST rimuove un utente come
Token Auditor
del codice concatenato. Questo metodo può essere richiamato solo da unToken Admin
del codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b", "payload": { "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 219 } }
-
removeFIAdmin
- Nome metodo originale:
removeOrgAdmin
- Questo metodo POST rimuove un utente come
Org Admin
del codice concatenato. Questo metodo può essere chiamato solo da unToken Admin
oOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597", "payload": { "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 220 } }
-
removeFIAuditor
- Nome metodo originale:
removeOrgAuditor
- Questo metodo POST rimuove un utente come
Org Auditor
del codice concatenato. Questo metodo può essere chiamato solo da unToken Admin
oOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306", "payload": { "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 221 } }
-
removeRole
- Nome metodo originale:
removeRole
- Questo metodo rimuove un ruolo da un utente e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin
del codice concatenato o da unOrg Admin
dell'organizzazione specificata. - Payload:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.role: string
: il nome del ruolo da rimuovere dall'utente specificato. I comportamentimintable
eburnable
corrispondono alle proprietàminter_role_name
eburner_role_name
del file di specifica. Analogamente, il ruolonotary
corrisponde alla proprietànotary_role_name
del file di specifica.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, un messaggio con i dettagli dell'account.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12", "payload": { "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 200 } }
-
requestCBDCCreation
- Nome metodo originale:
requestMint
- Questo metodo può essere chiamato da un minter per inviare una richiesta al notaio del minter per creare una quantità specificata di token.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token da coniare.operationId: string
: l'ID operazione univoco che rappresenta la richiesta di menta.notaryOrgId: string
- L'ID del fornitore di servizi di abbonamento (MSP) del notaio che elaborerà la richiesta.notaryUserId: string
- Il nome utente o l'ID e-mail del notaio che elaborerà la richiesta.quantity: number
- La quantità di token da zecca.timeToExpiration
: l'ora trascorsa la quale la richiesta di conio scade e non è più valida.infoDetails: JSON
: oggetto che specifica la categoria (category
) e la descrizione (description
) della richiesta, come mostrato nell'esempio riportato di seguito.{ "category" : "category input", "description" : "description input" }
sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "payload": { "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 202 } }
-
requestCBDCRetirement
- Nome metodo originale:
requestBurn
- Questo metodo può essere chiamato da un bruciatore per inviare una richiesta al notaio per distruggere una determinata quantità di token.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true }
- Parametri:
tokenId: string
: l'ID del token da masterizzare.operationId: string
: l'ID operazione univoco che rappresenta la richiesta di masterizzazione.notaryOrgId: string
- ID del fornitore di servizi di appartenenza (MSP) del notaio del bruciatore che elaborerà la richiesta.notaryUserId: string
- Il nome utente o l'ID e-mail del notaio del masterizzatore che elaborerà la richiesta.quantity: number
- La quantità di token da masterizzare.timeToExpiration
: l'ora trascorsa la quale la richiesta di masterizzazione scade e non è più valida.infoDetails: JSON
: oggetto che specifica la categoria (category
) e la descrizione (description
) della richiesta, come mostrato nell'esempio riportato di seguito.{ "category" : "category input", "description" : "description input" }
sameOrgEndorser: boolean
: valore booleano che indica se le dichiarazioni a sostegno della transazione devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "0adb57ca9776c8760468c40465e0f0d37472f0b4b32fd02561ef28b3f7b28cf1", "payload": { "msg": "AccountId oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB , User-Id: retirer_user_cb) has successfully submitted request to burn 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 206 } }
-
setApplicationGroups
- Nome metodo originale:
setApplicationGroups
- Questo metodo POST viene utilizzato per impostare il parametro
application_groups
nei dettagli del conto per i gruppi di applicazioni specificati. Questo metodo può essere chiamato solo da unToken Admin
del codice concatenato o da unOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "applicationGroups": "[\"application_groups value\"]", "endorsers": {{endorsers}} }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.tokenId: string
: l'ID del token.applicationGroups: string[]
: lista di gruppi di applicazioni a cui appartiene l'ID utente, che definisce le associazioni dell'utente nell'applicazione CBDC.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, un messaggio di operazione riuscita con la quantità di token bruciati e l'ID account.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } }
-
setMaxDailyAmount
- Nome metodo originale:
setMaxDailyAmount
- Questo metodo POST viene utilizzato per impostare il parametro
maxDailyAmount
nei dettagli del conto per l'importo specificato. Questo metodo può essere chiamato solo da unToken Admin
del codice concatenato o da unOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.tokenId: string
: l'ID del token.maxDailyAmount: number
: il valore dell'importo massimo giornaliero per il conto specificato, che definisce l'importo massimo che può essere sottoposto a transazioni giornaliere.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 222 } }
-
setMaxDailyTransactionCount
- Nome metodo originale:
setMaxDailyTransactionCount
- Questo metodo POST viene utilizzato per impostare il parametro
maxDailyTransactions
nei dettagli del conto per l'importo specificato. Questo metodo può essere chiamato solo da unToken Admin
del codice concatenato o da unOrg Admin
dell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} }
- Parametri:
orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.tokenId: string
: l'ID del token.maxDailyTransactions: number
: valore dell'importo massimo giornaliero per il conto specificato, che definisce il numero massimo di transazioni consentite al giorno.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 223 } }
-
suspendCBDCAccount
- Nome metodo originale:
suspendAccount
- Questo metodo sospende un account token fungibile. Se un valore
accountStatus
non viene trovato nel libro contabile, viene restituito un errore. Questo metodo può essere chiamato solo da unToken Admin
del codice concatenato o da unOrg Admin
dell'organizzazione specificata. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.orgId: string
: l'ID del provider di servizi di appartenenza (MSP) dell'utente nell'organizzazione corrente.userId: string
: il nome utente o l'ID e-mail dell'utente.endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 195 } }
-
transferCBDCTokens
- Nome metodo originale:
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
decimal
del comportamentodivisible
nel file di specifica. - Payload:
{ "tokenId": "{{bc-token-id}}", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parametri:
tokenId: string
: l'ID del token.toOrgId: string
: l'ID del fornitore di servizi di appartenenza (MSP) del ricevente (beneficiario) nell'organizzazione corrente.toUserId: string
: il nome utente o l'ID e-mail del destinatario.quantity: number
: il numero di token da trasferire.infoDetails: JSON
: oggetto che specifica la categoria (category
) e la descrizione (description
) della richiesta, come mostrato nell'esempio riportato di seguito.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
: un array dei pari livello (ad esempio,peer1
,peer2
) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7", "payload": { "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 224 } }
Il pacchetto API wrapper include anche l'API createCBDCAccount
, che combina le API di codice concatenato e le API della console di Oracle Blockchain Platform in un unico endpoint per la creazione dell'account.
-
createCBDCAccount
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "applicationGroups": "[\"applicationGroups value\"]", "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor)", "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}" }
- Parametri payload
orgId
: l'ID del provider di servizi di appartenenza (MSP) dell'utente per il quale creare l'account. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali quali i caratteri di sottolineatura (_), i punti (.), i segni @ e i trattini (-).userId
: il nome utente o l'ID e-mail dell'utente. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali quali i caratteri di sottolineatura (_), i punti (.), i segni @ e i trattini (-).applicationGroups
: l'applicazione raggruppa l'account. Ad esempio,System_Admins
.tokenId
: l'ID del token associato all'account. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e i caratteri speciali di sottolineatura (_) e trattino (-). Non può superare i 16 caratteri di lunghezza.role
: il ruolo deve essere uno dei valori seguenti:minter
,burner
,notary
,tokenAdmin
,tokenAuditor
,orgAdmin
oorgAuditor
.dailyLimits
: due campi numerici che definiscono i limiti delle transazioni giornaliere:max_daily_amount
emax_daily_transactions
.
- Esempio di valore restituito:
"payload": { "msg": "Account created successfully and 'minter' role added to Account Id: oaccount~4a86f2843c2b0105c97a77202bd9aba519c81dcef27eccc1d89125ae32770700 (Org-Id: CB, User-Id: creator_user_cb)" "accountDetails": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~ce5c56d2068ce31b82136c8eea110a80b9251595d361db70924c4e989032a1be", "user_id": "creator_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Creators" ], "max_daily_amount": 1000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-10-06T00:00:00.000Z" } }
L'API createCBDCAccount
completa in sequenza le seguenti operazioni.
- Crea un ID di registrazione per l'utente in Oracle Blockchain Platform. L'ID iscrizione creato è uguale all'ID utente, con alcune limitazioni. L'ID può contenere solo caratteri alfanumerici, trattini (-) e caratteri di sottolineatura (_). Se l'ID utente contiene altri caratteri speciali, questi vengono sostituiti con un carattere di sottolineatura (_). Ad esempio, se l'ID utente è adam.fripp@example.com, l'ID iscrizione creato è adam_fripp_example_com. Se l'iscrizione esiste già per l'ID utente specificato, non viene creata un'altra iscrizione.
- Crea un conto nel libro contabile con i dettagli forniti nel payload.
- Associa il nuovo account al token specificato nel payload.
- Assegna all'utente il ruolo specificato nel payload.
Per garantire la coerenza ed evitare dati incompleti, se uno qualsiasi dei passi successivi non riesce, l'ID iscrizione creato nel primo passo viene eliminato.