Package API wrapper struttura token fungibile
Oracle Blockchain Platform Digital Assets Edition include un package API wrapper che estende l'API REST per supportare operazioni specifiche per uno scenario di token di deposito.
Il package API wrapper utilizza il servizio Gateway API e OCI Functions per distribuire instradamenti API progettati in modo specifico per l'applicazione token di deposito. Il package API wrapper del framework token fungibile può essere scaricato dalla console di Oracle Blockchain Platform e include i componenti riportati di seguito.
DepositTokenWrapperAPI.zip, un file di archivio che contiene il package API wrapper, inclusi gli script Terraform necessari per la distribuzione. Questo file viene distribuito in uno stack di Resource Manager su Oracle Cloud Infrastructure (OCI) per creare le risorse Oracle necessarie per le API Wrapper.DepositToken_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
-
registerOrg - Nome metodo originale:
registerOrg - Questo metodo POST registra un'organizzazione nel sistema. Questo metodo può essere chiamato solo da un amministratore di token.
- Payload:
{ "orgId": "{{bc-org-id}}", "orgName": "org_name value", "endorsers": {{endorsers}} } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.orgName: string: (facoltativo) il nome dell'organizzazione.endorsers: string[]: un array di peer (ad esempio,peer1,peer2) che deve approvare la transazione.
- Esempio di valore restituito:
{ "assetType": "oorgregistry", "org_registry_id": "orgregistry", "registered_orgs": [ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] } -
getAllRegisteredOrgs - Nome metodo originale:
getAllRegisteredOrgs - Questo metodo GET recupera i dettagli di tutte le organizzazioni registrate. Questo metodo può essere chiamato solo da un amministratore di token.
- Query:
/getAllRegisteredOrgs - Parametri:
- nessuno
- Esempio di valore restituito:
[ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] -
activateAccount - Nome metodo originale:
activateAccount - Questo metodo POST attiva un account token. Questo metodo può essere richiamato solo da un
Token Admino dalOrg Admindell'organizzazione specificata. Per gli account creati prima della funzionalità di stato dell'account, è necessario chiamare questo metodo per visualizzare lo stato dell'account come attivo. - 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 MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.userId: string: il nome utente o l'ID e-mail dell'utente.endorsers: string[]: un array di peer (ad esempio,peer1,peer2) che deve approvare la transazione.
- Restituisce:
- In caso di operazione riuscita, una rappresentazione JSON dell'oggetto di stato dell'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 } } -
addTokenAdmin - Nome metodo originale:
addTokenAdmin - Questo metodo POST aggiunge un utente come
Token Admindel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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 delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
Token Admindel codice concatenato.
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
- 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 } } -
addTokenAuditor - Questo metodo POST aggiunge un utente come
Token Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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 delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
Token Auditordel codice concatenato.
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
- 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 } } -
addOrgAdmin - Nome metodo originale:
addOrgAdmin - Questo metodo POST aggiunge un utente come
Token Admindel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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 delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
Org Admindel codice concatenato.
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
- 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 } } -
addOrgAuditor - Questo metodo POST aggiunge un utente come
Org Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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 delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
Org Auditordel codice concatenato.
- In caso di operazione riuscita, un messaggio che include i dettagli dell'utente aggiunto come
- 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.
- 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 MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.userId: string: il nome utente o l'ID e-mail dell'utente.endorsers: string[]: un array di peer (ad esempio,peer1,peer2) che deve approvare la transazione.
- 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 } } -
approveMint - Nome metodo originale:
approveMint - I notai possono chiamare questo metodo POST per approvare una richiesta di zecca.
- 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 mint da approvare.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 } } -
executeHoldTokens - Nome metodo originale:
executeHoldTokens - I notai chiamano questo metodo per approvare un blocco sui token. La quantità di token messi in sospeso 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 sezionebehaviorsdel modello di token e il valorenotary_role_nameè impostato, l'account chiamante deve avere un ruolo notarile. 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 mint da approvare.quantity: number: il numero di token detenuti da trasferire.endorsers: string[]: un array di peer (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. Può essere chiamato da un
Token AdminoOrg Admin. - Payload:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} } - Parametri:
accountId: string– L'ID dell'account.tokenId: string: l'ID del token.endorsers: string[]: un array di peer (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, "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. Gli ID account sono formati concatenando il tipo di asset e l'ID token e quindi creando un hash SHA-256 su una concatenazione dell'ID organizzazione e dell'ID utente. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o dalOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "fungible", "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}", "endorsers": {{endorsers}} } - Parametri:
orgId- L'ID MSP (Membership Service Provider) dell'utente per cui creare l'account. L'ID deve iniziare con un carattere alfanumerico e può includere lettere, numeri e caratteri speciali come caratteri di sottolineatura (_), punti (.), simboli at (@) e 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 come caratteri di sottolineatura (_), punti (.), simboli at (@) e trattini (-).tokenType: TokenType: il tipo di token, che deve esserefungible.daily_limits: DailyLimits: oggetto JSON del tipo seguente.
Nell'esempio, il valore{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }max_daily_amountè la quantità massima di token che è possibile effettuare transazioni giornaliere e il valoremax_daily_transactionsè il numero massimo di transazioni che è possibile completare quotidianamente.endorsers: string[]: un array di peer (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, "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 } } -
getAccount - Nome metodo originale:
getAccount - Questo metodo restituisce i dettagli del conto per un utente specificato. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o dalAccount Ownerdell'account. - Query:
/getAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parametri:
tokenId: string: l'ID del token.orgId: string- L'ID MSP (Membership Service Provider) 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, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON" } } -
getAccountBalance - 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 Admino dalAccountOwnerdell'account. /getAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parametri:
tokenId: string: l'ID del token.orgId: string- L'ID MSP (Membership Service Provider) 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" } } -
getAccountsByUser - Nome metodo originale:
getAccountsByUser - Questo metodo restituisce un elenco di tutti gli account per un utente specificato. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o dalAccount Ownerdell'account. - Query:
/getAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}} - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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, "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, "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, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" } ], "encode": "JSON" } } -
getAccountTransactionHistory - Nome metodo originale:
getAccountTransactionHistory - Questo metodo GET restituisce la cronologia delle transazioni del conto. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o dal proprietario dell'account. /getAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parametri:
tokenId: string: l'ID del token.orgId: string- L'ID MSP (Membership Service Provider) 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" } } -
getAccountTransactionHistoryWithFiltersFromRichHistDB - Nome metodo originale:
getAccountTransactionHistoryWithFiltersFromRichHistDB - Questo metodo restituisce i dettagli della cronologia delle transazioni del conto dal database della cronologia avanzata. Questo metodo può essere chiamato solo da un
Token Admino dalAccountOwnerdell'account. Prima di poter utilizzare questo metodo, è necessario eseguire Oracle Autonomous Database con Oracle REST Data Services (ORDS) e OAuth abilitati, come descritto in Oracle Database View Definitions for Wholesale CBDC. /getAccountTransactionHistoryWithFiltersFromRichHistDB?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 MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.userId: string: il nome utente o l'ID e-mail dell'utente.customEndpoint: endpoint del servizio RESTful del database della cronologia RTF da cui recuperare la cronologia delle transazioni.bearerToken: token da utilizzare per chiamare l'endpoint RESTful per assicurarsi che la richiesta sia autorizzata.filters: string: parametro facoltativo. Se vuoto, vengono restituiti tutti i record. La proprietàPageSizedetermina il numero di record da restituire. SePageSizeè 0, la dimensione di pagina predefinita è 20. La proprietàBookmarkdetermina l'indice iniziale dei record da restituire. Le proprietàStartTimeeEndTimedevono essere specificate nel 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" } } -
getNetTokens - Nome metodo originale:
getNetTokens - Questo metodo GET 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. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. /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 utente e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin,Org AdminoAccountOwnerdell'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 MSP (Membership Service Provider) 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" } } -
getTotalMintedTokens - Nome metodo originale:
getTotalMintedTokens - Questo metodo GET restituisce il numero totale di token coniati per un token specificato. Questo metodo può essere chiamato solo da un
Token AdminoOrg Admin. - Query:
/getTotalMintedTokens?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" } } -
getUserByAccountId - Nome metodo originale:
getUserByAccountId - Questo metodo GET restituisce i dettagli utente per un account specificato. Questo metodo può essere chiamato da
Token Admin,Token AuditoroOrg Auditor. - Query:
/getUserByAccountId?accountId=account_id value - Parametri:
accountId: string– L'ID dell'account.
- 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 restituisce un elenco di tutti gli utenti per un ruolo e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin. /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" } } -
holdTokens - Nome metodo originale:
holdTokens - Questo metodo crea un blocco per conto del proprietario dei token con l'account
to_account_id. Viene 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. Per il chiamante di questo metodo deve essere già stato creato un account. - 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 MSP (Membership Service Provider) del destinatario nell'organizzazione corrente.toUserId: string: il nome utente o l'ID e-mail del destinatario.notaryOrgId: string– L'ID MSP (Membership Service Provider) 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 alternativa utilizzare il formato RFC-3339. Ad esempio, 2021-06-02T12:46:06Z.infoDetails: JSON: la descrizione e la categoria indicate nell'esempio seguente.{ "category" : "category input", "description" : "description input" }endorsers: string[]: un array di peer (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 richiamato quando viene distribuito il codice concatenato. Le informazioni utente vengono salvate come
Token Admindel codice concatenato. - Payload:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" } - Parametri:
adminList array: array di informazioni{user_id, org_id}che specifica la lista di 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 } } -
initializeDepositToken - Nome metodo originale:
initializeDepositToken - 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 Admindel codice concatenato. - Payload:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc 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 del modello.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 }, "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } } -
rejectMint - Nome metodo originale:
rejectMint - Questo metodo può essere chiamato da un notaio per rifiutare una richiesta di conio.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parametri:
token_id: string– L'ID del token per rifiutare la stampa.operation_id: string: l'ID operazione univoco che rappresenta la richiesta mint.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 } } -
releaseHoldTokens - Nome metodo originale:
releaseHoldTokens - Questo metodo POST rilascia un blocco sui token. Il trasferimento non è stato completato e tutti i token bloccati sono di nuovo disponibili per il proprietario originale.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "endorsers": {{endorsers}} } - Parametri:
token_id: string: l'ID del token.operation_id: string: ID univoco che identifica l'operazione di blocco. In genere questo ID viene passato dall'applicazione client.endorsers: string[]: un array di peer (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 } } -
removeTokenAdmin - Nome metodo originale:
removeTokenAdmin - Questo metodo POST rimuove un utente come
Token Admindel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. Un amministratore non può rimuovere se stesso. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
org_id: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.user_id: string: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 } } -
removeTokenAuditor - Nome metodo originale:
removeTokenAuditor - Questo metodo POST rimuove un utente come
Token Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
org_id: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.user_id: string: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 } } -
removeOrgAdmin - Nome metodo originale:
removeOrgAdmin - Questo metodo POST rimuove un utente come
Org Admindel codice concatenato. Questo metodo può essere chiamato solo da unToken AdminoOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
org_id: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.user_id: string: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 } } -
removeOrgAuditor - Nome metodo originale:
removeOrgAuditor - Questo metodo POST rimuove un utente come
Org Auditordel codice concatenato. Questo metodo può essere chiamato solo da unToken AdminoOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
org_id: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.user_id: string: il nome utente o l'ID e-mail dell'utente.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 specificato. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato o da unOrg Admindell'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 comportamentimintableeburnablecorrispondono alle proprietàminter_role_nameeburner_role_namedel file di specifica.orgId: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.userId: string: il nome utente o l'ID e-mail dell'utente.endorsers: string[]: un array di peer (ad esempio,peer1,peer2) che deve approvare la transazione.
- 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 } } -
requestMint - Nome metodo originale:
requestMint - Questo metodo può essere chiamato da un minter per inviare una richiesta al notaio 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 zecca.operationId: string: l'ID operazione univoco che rappresenta la richiesta mint.notaryOrgId: string– L'ID MSP (Membership Service Provider) del notaio minore che elaborerà la richiesta.notaryUserId: string– Il nome utente o l'ID e-mail del notaio minore che elaborerà la richiesta.quantity: number: la quantità di token da mint.timeToExpiration– Il tempo dopo il quale la richiesta di conio scade e non è più valida.infoDetails: JSON– Un oggetto che specifica la categoria (category) e la descrizione (description) della richiesta, come mostrato nell'esempio seguente.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni 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 } } -
burnTokens - Nome metodo originale:
burnTokens - Questo metodo POST disattiva, o masterizza, i token dall'account del chiamante della transazione. Il chiamante di questo metodo deve avere un account e il ruolo di bruciatore. La quantità deve essere compresa nei valori decimali specificati dal parametro
decimaldel comportamentodivisiblenel file di specifica. Questo metodo può essere chiamato dalAccountOwnerdell'account con il ruolo di masterizzatore. - Payload:
{ "tokenId": "{{bc-token-id}}", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true } - Parametri:
tokenId: string: l'ID del token.quantity: il numero di token da masterizzare.infoDetails: JSON– Un oggetto che specifica la categoria (category) e la descrizione (description) della richiesta, come mostrato nell'esempio seguente.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Restituisce:
- Al successo, un messaggio di successo con la quantità di token bruciati e l'ID account.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "aff0b2dbb163ec8076747525db81fbe8f678ac88a277c5f234337f0747eb1a8d", "payload": { "msg": "Successfully burned 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 96 } } -
setMaxDailyAmount - Nome metodo originale:
setMaxDailyAmount - Questo metodo POST viene utilizzato per impostare il parametro
maxDailyAmountnei dettagli del conto per l'importo specificato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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: valore massimo dell'importo giornaliero per il conto specificato, che definisce l'importo massimo che può essere eseguito quotidianamente.endorsers: string[]: un array di peer (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, "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
maxDailyTransactionsnei dettagli del conto per l'importo specificato. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'organizzazione specificata. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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 massimo dell'importo giornaliero per il conto specificato, che definisce il numero massimo di transazioni consentite al giorno.endorsers: string[]: un array di peer (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, "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 } } -
suspendAccount - Nome metodo originale:
suspendAccount - Questo metodo sospende un account token fungibile. Restituisce un errore se non viene trovato un valore
accountStatusnel libro contabile. Questo metodo può essere chiamato solo da unToken Admindel codice concatenato o da unOrg Admindell'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 MSP (Membership Service Provider) dell'utente nell'organizzazione corrente.userId: string: il nome utente o l'ID e-mail dell'utente.endorsers: string[]: un array di peer (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 } } -
transferTokens - 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
decimaldel comportamentodivisiblenel 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 destinatario (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– Un oggetto che specifica la categoria (category) e la descrizione (description) della richiesta, come mostrato nell'esempio seguente.{ "category" : "category input", "description" : "description input" }endorsers: string[]: un array di peer (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 } } -
initializeExchangePoolUser - Nome metodo originale:
initializeExchangePoolUser - Questo metodo inizializza l'utente del pool di scambio, che è un'attività occasionale. Questo metodo può essere chiamato solo da
Token Admin. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parametri:
orgId: string- L'ID MSP (Membership Service Provider) 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 delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversion", "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b", "org_id": "Org1MSP", "user_id": "exchangepooluser" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } } -
createExchangePoolAccounts - Nome metodo originale:
createExchangePoolAccounts - Questo metodo crea account di token del pool di scambio per un determinato array di ID token. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato. - Payload:
{ "tokenIds": "[{{bc-token-id}}]", "sameOrgEndorser": true } - Parametri:
token_ids: string []: array di ID token.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": [ { "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034", "token_id": "USD", "status": "created" }, { "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0", "token_id": "INR", "status": "created" } ], "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } } -
addConversionRate - Nome metodo originale:
addConversionRate - Questo metodo aggiunge un tasso di conversione per una coppia di token. Il tasso di conversione del token può essere specificato fino a otto posizioni decimali. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato. - Payload:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 10, "sameOrgEndorser": true } - Parametri:
fromTokenId: string: l'ID del token da cui eseguire la conversione.toTokenId: string: l'ID del token in cui eseguire la conversione.tokenConversionRate: number: la velocità con cui convertire il tokenfromTokenIdnel tokentoTokenId.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 10 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 189 } } -
updateConversionRate - Nome metodo originale:
updateConversionRate - Questo metodo aggiorna il tasso di conversione corrente per una coppia di token. Il tasso di conversione del token può essere specificato fino a otto posizioni decimali. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato. - Payload:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 20, "sameOrgEndorser": true } - Parametri:
fromTokenId: string: l'ID del token da cui eseguire la conversione.toTokenId: string: l'ID del token in cui eseguire la conversione.tokenConversionRate: number: la velocità con cui convertire il tokenfromTokenIdnel tokentoTokenId.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 208 } } -
mintWithFundingExchangePool - Nome metodo originale:
mintWithFundingExchangePool - Questo metodo estrae i token nell'account del chiamante in base all'ID token e alla quantità specificati. Una percentuale di token dalla quantità coniata viene quindi trasferita al conto token del pool di scambio.
{ "tokenId": "{{bc-token-id}}", "tokenQuantity": 100, "percentageTokenToExchangePool": 20, "sameOrgEndorser": true }- Parametri:
tokenId: string: l'ID del token da zecca.tokenQuantity: number: il numero totale di token da mint.percentageTokenToExchangePool: number: la percentuale di token coniati da trasferire all'account token del pool di scambio.sameOrgEndorser: boolean: valore booleano che indica se le dichiarazioni a sostegno delle transazioni devono provenire dalla stessa organizzazione del richiedente.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) " }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 209 } } -
tokenConversion - Nome metodo originale:
tokenConversion - Questo metodo converte i token dall'account del chiamante all'account specificato dai valori
to_token_id,to_org_ideto_user_id. Questo metodo può essere chiamato dalToken Admindel codice concatenato e da qualsiasi proprietario dell'account token. Un utente del pool di scambio non può chiamare questo metodo. { "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "tokenQuantity": 5, "endorsers": {{endorsers}} }- Parametri:
fromTokenId: string: l'ID del token da cui eseguire la conversione.toTokenId: string: l'ID del token in cui eseguire la conversione.toOrgId: string- L'ID MSP (Membership Service Provider) dell'utente nell'organizzazione corrente per ricevere i token.toUserId: string: il nome utente o l'ID e-mail dell'utente per ricevere i token.tokenQuantity: number: il numero totale di token da trasferire.endorsers: string[]: un array di peer (ad esempio,peer1,peer2) che deve approvare la transazione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } } -
getConversionRate - Nome metodo originale:
getConversionRate - Questo metodo GET ottiene il tasso di conversione corrente per una coppia di token. Questo metodo può essere chiamato da
Token Admin,Token Auditor,Org AdminoOrg Auditor. - Query:
/getConversionRate?fromTokenId=from_token_id value&toTokenId=to_token_id value - Parametri:
fromTokenId: string: l'ID del token da cui eseguire la conversione.toTokenId: string: l'ID del token in cui eseguire la conversione.
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 }, "encode": "JSON" } } -
getConversionHistory - Nome metodo originale:
getConversionRate - Questo metodo GET restituisce la cronologia di conversione del token per un account token specificato. Questo metodo può essere chiamato da
Token Admin,Token Auditor,Org Admin,Org Auditoro dal proprietario dell'account token. - Query:
/getConversionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parametri:
tokenId: string: l'ID del token.orgId: string- L'ID MSP (Membership Service Provider) 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~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf", "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb", "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e", "transacted_amount": 5, "converted_amount": 100, "conversion_rate": "20", "from_token_id": "USD", "to_token_id": "INR", "balance": 75, "onhold_balance": 0, "timestamp": "2022-11-30T11:03:20.000Z", "transaction_type": "TOKEN_CONVERSION_DEBIT" } ], "encode": "JSON" } } -
getExchangePoolUser - Nome metodo originale:
getExchangePoolUser - Questo metodo GET restituisce i valori dell'ID organizzazione e dell'ID utente per l'utente del pool di scambio. Questo metodo può essere chiamato solo da un
Token AdminoToken Auditordel codice concatenato. - Query:
/getExchangePoolUser - Parametri:
- nessuno
- Esempio di valore restituito:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oconversion", "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b", "org_id": "Org1MSP", "user_id": "exchangepooluser" }, "encode": "JSON" } } -
getAccountOnHoldBalance - Nome metodo originale:
getAccountOnHoldBalance - Questo metodo GET restituisce il saldo in sospeso corrente per un conto e un token specificati. Questo metodo può essere chiamato solo da un
Token Admin,Token Auditor,Org Admin,Org Auditoro ilAccountOwnerdell'account. - Query:
/getAccountOnHoldBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parametri:
tokenId: string: l'ID del token.orgId: string- L'ID MSP (Membership Service Provider) 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":"Total Holding Balance is: 0","holding_balance":0 }, "encode": "JSON" } } -
getAccountStatus - Nome metodo originale:
getAccountStatus - Questo metodo GET recupera lo stato corrente dell'account token. Questo metodo può essere chiamato da
Token Admin,Token Auditor,Org Admin,Org Auditoro dal proprietario dell'account token. - Query:
/getAccountStatus?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parametri:
tokenId: string: l'ID del token.orgId: string- L'ID MSP (Membership Service Provider) 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": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } } -
getAccountsByRole - Nome metodo originale:
getAccountsByRole - Questo metodo restituisce un elenco di tutti gli ID account per un ruolo specificato. Questo metodo può essere chiamato solo da un
Token Admindel codice concatenato. - Query:
/getAccountsByRole?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": { "accounts":["oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f"] }, "encode": "JSON" } }