Venta al por mayor Paquete de la API del envoltorio de CBDC
Oracle Blockchain Platform Digital Assets Edition incluye un paquete de API de envoltorio que amplía la API de REST para admitir operaciones específicas de CBDC mayorista.
El paquete de API de envoltorio utiliza el servicio API Gateway y OCI Functions, que se crean mediante una pila de Resource Manager en Oracle Cloud Infrastructure (OCI), para desplegar rutas de API diseñadas específicamente para la aplicación mayorista CBDC. El paquete de API de envoltorio de CBDC al por mayor se puede descargar desde la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
WholesaleCBDCWrapperAPI.zip, un archivo de almacenamiento que contiene el paquete de API de envoltorio que incluye los scripts de Terraform necesarios para el despliegue. Este archivo se despliega en una pila de Resource Manager en OCI para crear los recursos de Oracle necesarios para las API de envoltorio.WholesaleCBDC_WrapperAPI.postman_collection.json, una recopilación de Postman que permite probar las API de envoltorio desplegadas. La recopilación incluye solicitudes preconfiguradas con puntos finales y cargas útiles que corresponden a las API definidas en el paquete de API de envoltorio.
API de envoltorio
-
registerOrg - Nombre del método original:
registerOrg - Este método POST registra una organización en el sistema. Este método solo puede ser llamado por un administrador de token.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "orgName": "org_name value", "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.orgName: string: (opcional) nombre de la organización.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "assetType": "oorgregistry", "org_registry_id": "orgregistry", "registered_orgs": [ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] } -
getAllRegisteredOrgs - Nombre del método original:
getAllRegisteredOrgs - Este método GET recupera los detalles de todas las organizaciones registradas. Este método solo puede ser llamado por un administrador de token.
- Consulta:
/getAllRegisteredOrgs - Parámetros:
- ninguno
- Ejemplo de valor devuelto:
[ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] -
activateCBDCAccount - Nombre del método original:
activateAccount - Este método POST activa una cuenta de token. Este método solo puede ser llamado por un
Token AdminoOrg Adminde la organización especificada. Las cuentas eliminadas no se pueden activar. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- Una vez realizado correctamente, una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
- Ejemplo de valor devuelto:
{ "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 } } -
addCBAdmin - Nombre del método original:
addTokenAdmin - Este método POST agrega un usuario como
Token Admindel código de cadena de token. El método solo puede ser llamado por unToken Admindel código de cadena de token. La primera llamada es del administrador que instancia el código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
addTokenAuditor - Este método POST agrega auditores de token al código de cadena de token. Este método solo puede ser llamado por el
Token Admindel código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
addOrgAdmin - Este método agrega administradores de organización al código de cadena de token. Este método solo puede ser llamado por un
Token AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
addOrgAuditor - Este método agrega auditores de organización al código de cadena de token. Este método solo puede ser llamado por un
Token AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
addRole - Este método agrega el rol al usuario y al token especificados. Los ID de cuenta se forman mediante la creación de un hash SHA-256 del ID de token concatenado, el ID de organización y el ID de usuario. Este método solo puede ser llamado por un
Token AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a agregar al usuario especificado.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
approveMint - Los notarios pueden llamar a este método POST para aprobar una solicitud de menta.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token.operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
approveBurn - Los notarios pueden llamar a este método POST para aprobar una solicitud de grabación.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token.operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
executeHoldTokens - Los notarios llaman a este método para aprobar una retención de tokens, lo que dispara la transferencia de los tokens del pagador al beneficiario en este escenario de negocio. La cantidad de tokens retenidos anteriormente por el propietario del token ahora se transfiere al destinatario. Si el valor
quantityes menor que el valor de retención real, el importe restante vuelve a estar disponible para el propietario del token. Si el comportamientorolesse especifica en la secciónbehaviorsdel modelo de token y se define el valornotary_role_name, la cuenta del emisor de llamada debe tener un rol de notario. De lo contrario, cualquier persona que llame con una cuenta puede funcionar como notario. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.quantity: number: número de tokens retenidos para transferir.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
associateTokenToAccount - Este método POST asocia un ID de cuenta especificado a un token especificado. Este método solo puede ser llamado por un
Token AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} } - Parámetros:
accountId: string: ID de la cuenta.tokenId: string: ID del token.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
createAccount - Este método crea una cuenta para un usuario y token especificados. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. Las cuentas realizan un seguimiento de los saldos, los saldos retenidos y el historial de transacciones. Un ID de cuenta es un juego alfanumérico de caracteres, con el prefijo
oaccount~<token asset name>~y seguido de un hash del nombre de usuario o el ID de correo electrónico (userId) del propietario de la instancia o del usuario que está conectado a la instancia, el ID de proveedor de servicios de afiliación (orgId) del usuario de la organización de red actual. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "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}} } - Parámetros:
orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que se creará la cuenta. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).tokenType: TokenType: tipo de token, que debe serfungible.applicationGroups: string[]: lista de grupos de aplicaciones a los que pertenece el ID de usuario, que definen las asociaciones del usuario en la aplicación CBDC.dailyLimits: JSON object: objeto JSON del siguiente tipo.
En el ejemplo, el valor{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }max_daily_amountes la cantidad máxima de tokens que se pueden realizar diariamente y el valormax_daily_transactionses el número máximo de transacciones que se pueden completar diariamente.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getAllActiveAccounts - Este método GET devuelve todas las cuentas activas que están asociadas con el ID de token especificado.
- Consulta:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}} - Parámetros:
tokenId: string: ID del token.
- Devuelve:
- Cuando se realiza correctamente, se muestra un mensaje que incluye los detalles del usuario. La salida varía según el rol del usuario, como se muestra en los siguientes ejemplos.
- Ejemplo de valor de devolución (administrador de token, auditor de 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" } } - Ejemplo de valor devuelto (administrador de la organización, auditor de la organización):
{ "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" } } - Ejemplo de valor devuelto (todos los demás usuarios):
{ "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 - Nombre del método original:
getAllSuspendedAccounts - Este método GET devuelve todas las cuentas suspendidas que están asociadas con el ID de token especificado.
- Consulta:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}} - Parámetros:
tokenId: string: ID del token.
- Devuelve:
- Cuando se realiza correctamente, se muestra un mensaje que incluye los detalles del usuario. La salida varía según el rol del usuario, como se muestra en los siguientes ejemplos.
- Ejemplo de valor de devolución (administrador de token, auditor de 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" } } - Ejemplo de valor devuelto (administrador de la organización, auditor de la organización):
{ "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" } } - Ejemplo de valor devuelto (todos los demás usuarios):
{ "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 - Nombre del método original:
getActionHistory - Este método GET recupera el historial de aprobaciones o rechazos realizados por el emisor de la llamada para operaciones de menta, quema y transferencia (emisión), incluidos los detalles de la organización y los ID de usuario de las cuentas involucradas (emisor, destinatario y notario). Este método solo se puede llamar mediante
Token Admin,Token Auditor,Org Admin,Org Auditoro el notario. - Consulta:
/getApproverActionHistory?tokenId={{bc-token-id}} - Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getAccount - Este método GET devuelve los detalles de la cuenta para un usuario y token especificados. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditorde la organización especificada o elAccountOwnerde la cuenta. - Consulta:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getAccountBalance - Este método GET devuelve el saldo actual de una cuenta y un token especificados. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditorde la organización especificada o elAccountOwnerde la cuenta. /getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Current Balance is: 100", "user_balance": 100 }, "encode": "JSON" } } -
getCBDCAccountsByUser - Nombre del método original:
getAccountsByUser - Este método devuelve una lista de todos los IDs de cuenta para un ID de organización y un ID de usuario especificados. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditorde la organización especificada o elAccountOwnerde la cuenta. /getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
orgId string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getAccountTransactionHistory - Este método devuelve una matriz de detalles de historial de transacciones de cuenta para un usuario y token especificados. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditorde la organización especificada o elAccountOwnerde la cuenta. /getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getAccountTransactionHistoryWithFiltersFromRichHistDB - Este método devuelve los detalles del historial de transacciones de la cuenta de la base de datos de historial enriquecido. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditorde la organización especificada o elAccountOwnerde la cuenta. /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"}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.customEndpoint: punto final de servicio RESTful de la base de datos de historial enriquecido desde la que se recuperará el historial de transacciones.bearerToken: token que se va a utilizar para llamar al punto final RESTful para asegurarse de que la solicitud está autorizada.filters: JSON object: parámetro opcional. Si está vacío, se devuelven todos los registros. La propiedadpageSizedetermina el número de registros que se devolverán. SipageSizees 0, el tamaño de página por defecto es 20. La propiedadbookmarkdetermina el índice inicial de los registros que se van a devolver. Las propiedadesstartTimeyendTimese deben especificar en formato RFC-3339.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getBurnQuantity - Este método GET devuelve la cantidad total de tokens quemados para una organización especificada. Este método solo puede ser llamado por
Token Admin,Token Auditoro un usuario con el rol de quemador. /getCBDCRetiredQuantity?tokenId={{bc-token-id}}- Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 31 }, "encode": "JSON" } } -
getNetCBDCTokens - Nombre del método original:
getNetTokens - Este método GET devuelve el número neto total de tokens disponibles en el sistema para un token especificado. El total neto de tokens es la cantidad de tokens que quedan después de que los tokens se queman. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, o por unOrg AdminoOrg Auditor. /getNetCBDCTokens?tokenId={{bc-token-id}}- Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Net supply of token for Token Id: USD is 878 tokens.", "quantity": 878 }, "encode": "JSON" } } -
getOnHoldIds - Nombre del método original:
getOnHoldIds - Este método GET devuelve una lista de todos los ID de retención de una cuenta especificada. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditorde la organización especificada o elAccountOwnerde la cuenta. /getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getPendingIssuance - Este método recupera todas las transacciones de emisión (transferencia) pendientes en las que el emisor de la llamada está asignado como aprobador, incluidos los detalles de la organización y los ID de usuario de las cuentas implicadas (emisor, destinatario y notario). Este método solo se puede llamar mediante
Token AdminoToken Auditordel código de cadena, unOrg AdminoOrg Auditor, oNotary. /getPendingCBDCIssuance?tokenId={{bc-token-id}}- Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getPendingRequest - Este método recupera todas las solicitudes pendientes de un tipo especificado en las que el emisor de llamada está asignado como aprobador. Este método solo se puede llamar mediante
Token AdminoToken Auditordel código de cadena oNotary. /getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value- Parámetros:
tokenId: string: ID del token.requestType: string: tipo de transacción. Por ejemplo,mintoburn.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getTotalBalanceByCallerOrgId - Este método recupera el saldo total de la organización del emisor de la llamada. Este método solo puede ser llamado por un
Token Admin,Token Auditor,Org Admin,Org Auditoro cualquier propietario de cuenta. /getTotalCBDCBalanceByCallerOrgId- Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "totalBalance": 704 } ], "encode": "JSON" } } -
getTotalCreatedCBDCTokens - Nombre del método original:
getTotalMintedTokens - Este método devuelve el número total de tokens acuñados para un token especificado. Este método solo se puede llamar mediante
Token Admin,Token Auditor,Org AdminoOrg Auditor. - Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}} - Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 910 tokens.", "quantity": 910 }, "encode": "JSON" } } -
getTransactionWithBlockNumber - Nombre del método original:
getTransactionWithBlockNumber - Este método GET devuelve los detalles de la transacción para el ID de transacción especificado.
- Consulta:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value - Parámetros:
tokenId: string: ID del token.transactionId: string: ID de la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
getUserByAccountId - Este método devuelve los detalles del usuario (
orgId,userIdytokenId) para una cuenta especificada. Este método solo puede ser llamado por unToken AdminoToken Auditordel código de cadena, o por unOrg AdminoOrg Auditorde la organización especificada. - Consulta:
/getUserByCBDCAccountId?accountId=account_id value - Parámetros:
accountId: string: ID de la cuenta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "user_id": "admin_user_cb", "org_id": "CB" }, "encode": "JSON" } } -
getUsersByRole - Nombre del método original:
getUsersByRole - Este método GET devuelve una lista de todos los usuarios para un token y rol especificados. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena. - Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary) - Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a buscar.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
holdTokens - Este método crea una retención en nombre del propietario de los tokens con la cuenta
to_account_id. Se especifica una cuenta de notario, que es responsable de completar o liberar la retención. Cuando se crea la retención, el saldo de token especificado del pagador se retiene. Un saldo retenido no se puede transferir hasta que la retención se haya completado o liberado. El emisor de la llamada de este método debe tener una cuenta ya creada. - Carga Útil:
{ "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}} } - Parámetros:
tokenId: string: ID del token.operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.toUserId: string: nombre de usuario o ID de correo electrónico del receptor.notaryOrgId: string: ID del proveedor de servicios de membresía (MSP) del notario en la organización actual.notaryUserId: string: nombre de usuario o ID de correo electrónico del notario.quantity: number: número de tokens que se deben retener.timeToExpiration: hora a la que caduca la retención. Especifique 0 para una retención permanente. De lo contrario, utilice el formato RFC-3339. Por ejemplo, 2021-06-02T12:46:06Z.infoDetails: JSON: descripción y categoría, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
init - Este método se llama cuando se despliega el código de cadena. La información de usuario se guarda como el
Token Admindel código de cadena. - Carga Útil:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" } - Parámetros:
adminList array: matriz de información{user_id, org_id}que especifica la lista de administradores de tokens. La matrizadminListes un parámetro obligatorio.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } } -
initializeCBDCToken - Nombre del método original:
initializeCBDCToken - Este método crea un token e inicializa las propiedades del token. El activo y sus propiedades se guardan en la base de datos de estado. Este método solo puede ser llamado por un
Token Admindel código de cadena. - Carga Útil:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}", "sameOrgEndorser": true } - Parámetros:
tokenAsset: <Token Class>: el activo de token se transfiere como parámetro a este método. Las propiedades del activo de token se describen en el archivo de modelo.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- En caso de éxito, una representación JSON del activo de token que se creó.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
rejectMint - Este método puede ser llamado por un notario de minter para rechazar una solicitud de acuñación.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token para rechazar la extracción.operationId: string: ID de operación único que representa la solicitud de moneda.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
rejectBurn - Este método puede ser llamado por un notario para rechazar una solicitud de grabación.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token que se va a rechazar para la quema.operationId: string: el ID de operación único que representa la solicitud de grabación.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
releaseHoldTokens - Este método POST libera una retención de tokens. La transferencia no se ha completado y todos los tokens retenidos están disponibles de nuevo para el propietario original. Este método puede ser llamado por el ID
AccountOwnercon el rolnotarydentro del límite de tiempo especificado o por el pagador, el beneficiario o el notario después del límite de tiempo especificado. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
removeTokenAdmin - Este método POST elimina un usuario como
Token Admindel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. Un administrador no puede eliminarse a sí mismo. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
removeTokenAuditor - Este método POST elimina un usuario como
Token Auditordel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
removeOrgAdmin - Este método POST elimina un usuario como
Org Admindel código de cadena. Este método solo puede ser llamado por unToken AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
removeOrgAuditor - Este método POST elimina un usuario como
Org Auditordel código de cadena. Este método solo puede ser llamado por unToken AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
removeRole - Este método elimina un rol de un usuario y token especificados. Este método solo puede ser llamado por un
Token Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a eliminar del usuario especificado. Los comportamientosmintableyburnablecorresponden a las propiedadesminter_role_nameyburner_role_namedel archivo de especificación. Del mismo modo, el rolnotarycorresponde a la propiedadnotary_role_namedel archivo de especificación.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- En caso de éxito, se mostrará un mensaje con los detalles de la cuenta.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
requestMint - Este método puede ser llamado por un minter para enviar una solicitud al notario minter para crear una cantidad especificada de tokens.
- Carga Útil:
{ "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 } - Parámetros:
tokenId: string: ID del token que se debe acuñar.operationId: string: ID de operación único que representa la solicitud de moneda.notaryOrgId: string– El ID del proveedor de servicios de membresía (MSP) del notario menor que procesará la solicitud.notaryUserId: string: nombre de usuario o ID de correo electrónico del notario menor que procesará la solicitud.quantity: number: cantidad de tokens que se deben acuñar.timeToExpiration: el tiempo después del cual caduca la solicitud de extracción y ya no es válida.infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
requestBurn - Este método puede ser llamado por un quemador para enviar una solicitud al notario para destruir una cantidad especificada de tokens.
- Carga Útil:
{ "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 } - Parámetros:
tokenId: string: ID del token que se va a grabar.operationId: string: el ID de operación único que representa la solicitud de grabación.notaryOrgId: string– El ID del proveedor de servicios de membresía (MSP) del notario del quemador que procesará la solicitud.notaryUserId: string: nombre de usuario o ID de correo electrónico del notario del quemador que procesará la solicitud.quantity: number: cantidad de tokens que se queman.timeToExpiration: el tiempo después del cual caduca la solicitud de grabación y ya no es válida.infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
setApplicationGroups - Este método POST se utiliza para definir el parámetro
application_groupsen los detalles de cuenta para los grupos de aplicaciones especificados. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "applicationGroups": "[\"application_groups value\"]", "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.tokenId: string: ID del token.applicationGroups: string[]: lista de grupos de aplicaciones a los que pertenece el ID de usuario, que define las asociaciones del usuario en la aplicación CBDC.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- En caso de éxito, un mensaje de éxito con la cantidad de tokens quemados y el ID de cuenta.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
setMaxDailyAmount - Este método POST se utiliza para definir el parámetro
maxDailyAmounten los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.tokenId: string: ID del token.maxDailyAmount: number: valor de importe diario máximo para la cuenta especificada, que define el importe máximo que se puede realizar a diario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
setMaxDailyTransactionCount - Este método POST se utiliza para definir el parámetro
maxDailyTransactionsen los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.tokenId: string: ID del token.maxDailyTransactions: number: valor de importe máximo diario para la cuenta especificada, que define el número máximo de transacciones permitidas por día.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
suspendAccount - Este método suspende una cuenta de token fungible. Devuelve un error si no se encuentra un valor
accountStatusen la contabilidad. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 - Nombre del método original:
transferTokens - Este método transfiere tokens del emisor de llamada a una cuenta especificada. El emisor de llamada del método debe tener una cuenta. La cantidad debe estar dentro de los valores decimales especificados por el parámetro
decimaldel comportamientodivisibleen el archivo de especificación. - Carga Útil:
{ "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}} } - Parámetros:
tokenId: string: ID del token.toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor (beneficiario) de la organización actual.toUserId: string: nombre de usuario o ID de correo electrónico del receptor.quantity: number: número de tokens que se van a transferir.infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "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 } }
El paquete de API de envoltorio también incluye la API createCBDCAccount, que combina API de código de cadena y API de consola de Oracle Blockchain Platform en un único punto final para la creación de cuentas.
-
createCBDCAccount - Carga Útil:
{ "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}" } - Parámetros de Carga Útil:
orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que se creará la cuenta. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).applicationGroups: grupos de aplicaciones a los que pertenecerá la cuenta. Por ejemplo,System_Admins.tokenId: ID del token asociado a la cuenta. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y los caracteres especiales guion bajo (_) y guion (-). No puede superar los 16 caracteres de longitud.role: el rol debe ser uno de los siguientes valores:minter,burner,notary,tokenAdmin,tokenAuditor,orgAdminoorgAuditor.dailyLimits: dos campos numéricos que definen los límites de transacción diaria:max_daily_amountymax_daily_transactions.
- Ejemplo de valor devuelto:
"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" } }
La API createCBDCAccount completa las siguientes operaciones en secuencia.
- Crea un ID de inscripción para el usuario en Oracle Blockchain Platform. El ID de inscripción que se crea es el mismo que el ID de usuario, con algunas limitaciones. El ID solo puede contener caracteres alfanuméricos, guiones (-) y guiones bajos (_). Si el ID de usuario contiene otros caracteres especiales, se sustituyen por caracteres de subrayado (_). Por ejemplo, si el ID de usuario es adam.fripp@example.com, el ID de inscripción que se crea es adam_fripp_example_com. Si la inscripción ya existe para el ID de usuario especificado, no se crea otra inscripción.
- Crea una cuenta en el libro mayor con los detalles proporcionados en la carga útil.
- Asocia la nueva cuenta al token especificado en la carga útil.
- Asigna el rol especificado en la carga útil al usuario.
Para garantizar la coherencia y evitar datos incompletos, si falla alguno de los pasos siguientes, se elimina el ID de inscripción que se creó en el primer paso.