- Edición de activos digitales de Oracle Blockchain Platform
- Venta al por mayor Banco central Aplicación de moneda digital
- Venta al por mayor CBDC envoltorio API paquete
Venta al por mayor CBDC envoltorio API paquete
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 API wrapper 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 CBDC mayorista. El paquete de API de envoltorio CBDC mayorista 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, incluidos los scripts de Terraform necesarios para el despliegue. Puede desplegar este archivo en una pila de Resource Manager en OCI para crear los recursos de Oracle necesarios para las API de Wrapper.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
-
activateCBDCAccount
- Nombre del método original:
activateAccount
- Este método POST activa una cuenta de token. Este método sólo puede ser llamado por
Token Admin
oOrg Admin
de la organización especificada. No se pueden activar las cuentas suprimidas. - 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
- Ejemplo de Valor de Devolución:
{ "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 } }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en 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.
-
addCBAdmin
- Nombre del método original:
addTokenAdmin
- Este método POST agrega un usuario como
Token Admin
del código de cadena de token. El método solo se puede llamar medianteToken Admin
del código de cadenas de token. La primera llamada es del administrador que instancia el código de cadenas. - 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 en 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 de Devolución:
{ "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
Token Admin
del código de cadenas. - 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 en 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 de Devolución:
{ "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 sólo puede ser llamado por
Token Admin
oOrg Admin
de 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 en 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 de Devolución:
{ "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 sólo puede ser llamado por
Token Admin
oOrg Admin
de 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 en 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 de Devolución:
{ "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 sólo puede ser llamado por
Token Admin
oOrg Admin
de 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 en 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 de Devolución:
{ "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 moneda.
- 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 va a 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 de Devolución:
{ "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 quemadura.
- 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 va a 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 de Devolución:
{ "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
quantity
es menor que el valor de retención real, el importe restante está disponible de nuevo para el propietario del token. Si se especifica el comportamientoroles
en la secciónbehaviors
del modelo de token y se define el valornotary_role_name
, la cuenta de emisor de llamada debe tener el 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 va a aprobar.quantity: number
: número de tokens retenidos para transferir.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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 sólo puede ser llamado por
Token Admin
oOrg Admin
de 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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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 un 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 ID de correo electrónico (userId
) del propietario de la instancia o del usuario que se ha conectado a la instancia, el ID de proveedor de servicios de miembros (orgId
) del usuario en la organización de red actual. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de 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 crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).userId
: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) 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
: un objeto JSON del siguiente tipo.
En el ejemplo, el valor{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }
max_daily_amount
es la cantidad máxima de tokens que se pueden procesar diariamente y el valormax_daily_transactions
es el número máximo de transacciones que se pueden completar diariamente.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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 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, 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 devuelto (Administrador de tokens, Auditor de tokens):
{ "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, "application_groups": [ "CBDC_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 de Devolución (Administrador de Organización, Auditor de 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 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, 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 devuelto (Administrador de tokens, Auditor de tokens):
{ "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, "application_groups": [ "FI_CBDC_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 de Devolución (Administrador de Organización, Auditor de 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
- This GET method retrieves the history of approvals or rejections made by the caller for mint, burn, and transfer (issuance) operations, including details of the organization, and user IDs of accounts involved (sender, recipient, and notary). This method can be called only by a
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
or the notary. - Consulta:
/getApproverActionHistory?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "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 cuenta de un usuario y token especificados. Este método solo puede ser llamado por un
Token Admin
oToken Auditor
del código de cadenas, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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 Admin
oToken Auditor
del código de cadenas, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "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 ID de cuenta para un ID de organización y un ID de usuario especificados. Este método solo puede ser llamado por un
Token Admin
oToken Auditor
del código de cadenas, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de 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 en la organización actual.userId string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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, "application_groups": [ "CBDC_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, "application_groups": [ "CBDC_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 un token especificados. Este método solo puede ser llamado por un
Token Admin
oToken Auditor
del código de cadenas, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "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 enriquecida. Este método solo puede ser llamado por un
Token Admin
oToken Auditor
del código de cadenas, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.customEndpoint
: punto final del servicio RESTful de la base de datos de historial enriquecido para recuperar el historial de transacciones.bearerToken
: token que se 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 propiedadpageSize
determina el número de registros que se devolverán. SipageSize
es 0, el tamaño de página por defecto es 20. La propiedadbookmark
determina el índice inicial de los registros que se devolverán. Las propiedadesstartTime
yendTime
se deben especificar en formato RFC-3339.
- Ejemplo de Valor de Devolución:
{ "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
- This GET method returns the total quantity of burned tokens for a specified organization. This method can be called only by a
Token Admin
,Token Auditor
, or a user with the burner role. /getCBDCRetiredQuantity?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "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 se queman los tokens. Este método solo puede ser llamado por
Token Admin
oToken Auditor
del código de cadenas, o porOrg Admin
oOrg Auditor
. /getNetCBDCTokens?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "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 tenencia de una cuenta especificada. Este método solo puede ser llamado por un
Token Admin
oToken Auditor
del código de cadenas, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "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 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 Admin
oToken Auditor
del código de cadenas,Org Admin
oOrg Auditor
, oNotary
. /getPendingCBDCIssuance?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "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 puede ser llamado por
Token Admin
oToken Auditor
del código de cadenas o porNotary
. /getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
- Parámetros:
tokenId: string
: ID del token.requestType: string
: tipo de transacción. Por ejemplo,mint
oburn
.
- Ejemplo de Valor de Devolución:
{ "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 llamada. Este método solo puede ser llamado por un
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
o cualquier propietario de cuenta. /getTotalCBDCBalanceByCallerOrgId
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "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 puede ser llamado por
Token Admin
,Token Auditor
,Org Admin
oOrg Auditor
. - Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "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 de Devolución:
{ "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 de usuario (
orgId
,userId
ytokenId
) para una cuenta especificada. Este método solo lo puede llamar unToken Admin
oToken Auditor
del código de cadenas, o unOrg Admin
oOrg Auditor
de la organización especificada. - Consulta:
/getUserByCBDCAccountId?accountId=account_id value
- Parámetros:
accountId: string
: ID de la cuenta.
- Ejemplo de Valor de Devolución:
{ "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 rol y token especificados. Este método solo puede ser llamado por
Token Admin
oToken Auditor
del código de cadenas. - 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 de Devolución:
{ "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 notarial, 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 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 destinatario.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 van a 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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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 cadenas. La información del usuario se guarda como
Token Admin
del código de cadenas. - 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 token. La matrizadminList
es un parámetro obligatorio.
- Ejemplo de Valor de Devolución:
{ "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
Token Admin
del código de cadenas. - 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:
- Una representación JSON del activo de token creado correctamente.
- Ejemplo de Valor de Devolución:
{ "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 acuñació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 de Devolución:
{ "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 grabación.operationId: string
: 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 de Devolución:
{ "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
AccountOwner
con el rolnotary
dentro del límite de tiempo especificado o por el pagador, beneficiario o 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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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 Admin
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. 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 en 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 de Devolución:
{ "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 Auditor
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. - 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 en 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 de Devolución:
{ "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 Admin
del código de cadenas. Este método sólo puede ser llamado porToken Admin
oOrg Admin
de 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 en 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 de Devolución:
{ "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 Auditor
del código de cadenas. Este método sólo puede ser llamado porToken Admin
oOrg Admin
de 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 en 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 de Devolución:
{ "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 sólo puede ser llamado por un
Token Admin
del código de cadenas o por unOrg Admin
de 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 comportamientosmintable
yburnable
corresponden a las propiedadesminter_role_name
yburner_role_name
del archivo de especificación. Del mismo modo, el rolnotary
corresponde a la propiedadnotary_role_name
del archivo de especificación.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Si se realiza correctamente, un mensaje con los detalles de la cuenta.
- Ejemplo de Valor de Devolución:
{ "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 va a acuñar.operationId: string
: ID de operación único que representa la solicitud de moneda.notaryOrgId: string
: ID del proveedor de servicios de membresía (MSP) del notario que procesará la solicitud.notaryUserId: string
: nombre de usuario o ID de correo electrónico del notario que procesará la solicitud.quantity: number
: cantidad de tokens que acuñar.timeToExpiration
: tiempo después del cual caduca la solicitud de acuñació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 de Devolución:
{ "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
: ID de operación único que representa la solicitud de grabación.notaryOrgId: string
: ID del proveedor de servicios de membresía (MSP) del notario quemador que procesará la solicitud.notaryUserId: string
: nombre de usuario o ID de correo electrónico del notario quemador que procesará la solicitud.quantity: number
: cantidad de tokens que se van a grabar.timeToExpiration
: 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 de Devolución:
{ "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_groups
en los detalles de cuenta para los grupos de aplicaciones especificados. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de 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 en 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 definen las asociaciones del usuario en la aplicación CBDC.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- En caso de éxito, un mensaje con la cantidad de tokens quemados y el ID de cuenta.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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
maxDailyAmount
en los detalles de cuenta para el importe especificado. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de 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 en 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 máximo diario para la cuenta especificada, que define el importe máximo que se puede procesar diariamente.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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
maxDailyTransactions
en los detalles de cuenta para el importe especificado. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de 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 en 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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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, "application_groups": [ "CBDC_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
accountStatus
en el libro mayor. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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 la llamada del método debe tener una cuenta. La cantidad debe estar dentro de los valores decimales especificados por el parámetro
decimal
del comportamientodivisible
en 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 destinatario.quantity: number
: número de tokens que 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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "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 las API de código de cadena y las API de la 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 crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).userId
: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).applicationGroups
: grupos de aplicaciones a los que pertenecerá la cuenta. Por ejemplo,CBDC_ADMINS
.tokenId
: ID del token asociado a la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y los caracteres especiales de subrayado (_) 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
,orgAdmin
oorgAuditor
.dailyLimits
: dos campos numéricos que definen los límites de transacción diarios:max_daily_amount
ymax_daily_transactions
.
- Ejemplo de Valor de Devolución:
"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, "application_groups": [ "CBDC_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 caracteres de subrayado (_). 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 creará otra inscripción.
- Crea una cuenta en el libro mayor con los detalles proporcionados en la carga útil.
- Asocia la nueva cuenta con el 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 alguno de los pasos siguientes falla, se suprime el ID de inscripción creado en el primer paso.