Paquete de API de envoltorio de CBDC al por mayor confidencial
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 la versión en modo confidencial del escenario CBDC mayorista.
WholesaleCBDCWithConfidentialPaymentWrapperAPI.zip
, un archivo de almacenamiento que contiene el paquete de API de envoltorio que incluye 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 envoltorio.WholesaleCBDCWithConfidentialPayment_WrapperAPI.postman_collection
, 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 solo puede ser llamado por un
Token Admin
oOrg Admin
de la organización especificada. Las cuentas eliminadas no se pueden activar. - Carga Útil:
{ "accountId": "account_id value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de la cuenta.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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": "864cdbc5b4ee1a6f2238301e75ee2ddff0ecfa490ddf490da33365cae92cb4ad", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~4c900b07f6136f36854064c0c0ba97aa09c9734cbe11966cc83865f156ced2c6", "account_id": "oaccount~214ad54a30703412b195f36429607b08627dea893303870bf3372f944fe0c088", "status": "active" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 58 } }
-
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 puede ser llamado por unToken Admin
del 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}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "a988dc3e9aab162508fd0555fec254f248e27fd0c5440d94e1f49fc65643cafa", "payload": { "msg": "Successfully added Token Admin (Org_Id: CentralBank, User_Id: user1)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 69 } }
-
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 Admin
del código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "864cdbc5b4ee1a6f2238301e75ee2ddff0ecfa490ddf490da33365cae92cb4ad", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~4c900b07f6136f36854064c0c0ba97aa09c9734cbe11966cc83865f156ced2c6", "account_id": "oaccount~214ad54a30703412b195f36429607b08627dea893303870bf3372f944fe0c088", "status": "active" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 58 } }
-
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 Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "ab1544c0d23d930253e6e6020c7c9584f03d324fb1123cc96fe7e0573b232792", "payload": { "msg": "Successfully added Org Admin (Org_Id: CentralBank, User_Id: cb_admin_demo)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 61 } }
-
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 Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "c0acbadfa461963a5d085bb12335dcf6d8ec566acf72a88a1f168b3a0435db89", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CentralBank, User_Id: cb_admin_demo)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 62 } }
-
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 Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "role": "role value (for example minter / burner / notary)", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de la cuenta.role: string
: nombre del rol que se va a agregar al usuario especificado.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "c44931d2227305914db21564301775f8a4edc2aa7fef434d063be7e207b4fd20", "payload": { "msg": "Successfully added role 'minter' to Account Id: oaccount~214ad54a30703412b195f36429607b08627dea893303870bf3372f944fe0c088" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 63 } }
-
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", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
tokenId: string
: ID del token.operationId: string
: ID de operación único de la solicitud de moneda que se debe aprobar.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "4514aa229ebcc4d2fedcaa47c4301615e30c4a9bae45cf0256a5b80d75b3697a", "payload": { "msg": "Successfully minted 1000 tokens to Account Id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 337 } }
-
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", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
tokenId: string
: ID del token.operationId: string
: ID de operación único de la solicitud de moneda que se debe aprobar.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "8c7b013765917ebade60c6e6e122ec9b94282349e630fa1f2a446c79cb9ef29c", "payload": { "msg": "Successfully burned 200 tokens from account id: oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98 (Org-Id: CentralBank, User-Id: cb_retirer_demo)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 338 } }
-
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 vuelve a estar disponible para el propietario del token. Si el comportamientoroles
se especifica en la secciónbehaviors
del 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}}, "transientMapArgsFlag": true }
- 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097", "payload": { "msg": "Account Id: oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111 (Org-Id: Org1, User-Id: fi1_org_user1_demo) is successfully executed '10' tokens from Operation Id '454f4bf6'." }, "encode": "JSON", "sourceURL": "org1-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 339 } }
-
consolidateRunningBalanceInTransactions
- Nombre del método original:
consolidateRunningBalanceInTransactions
- Este método consolida los saldos en ejecución de las cuentas en la organización del emisor de la llamada. Este método solo se puede llamar mediante
Token Admin
oOrg Admin
. - Carga Útil:
{ "endorsers": {{endorsers}} }
- Parámetros:
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": "f3c019974cd93eaa8f3171a36ec25009fa6925b5880cae8c9a49a141944039c0", "payload": { "msg": "Successfully updated account running balance for pending transactions." }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 340 } }
-
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 Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "customAccountId": "custom_account_id value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de la cuenta.tokenId: string
: ID del token.customAccountId: string
: ID aleatorio único de cuentas en modo confidencial.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "fc7e9297d1d7beef5567fbef873955f5a9759d031811198e24f67f064e0e80b0", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "application_groups": [ "CENTRAL_BANK_USERS" ] }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 71 } }
-
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 Admin
del código de cadena 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}}, "transientMapArgsFlag": true }
- 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_amount
es la cantidad máxima de tokens que se pueden realizar diariamente y el valormax_daily_transactions
es 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "dc167f95bdcc246c9ecb20e56126c705f522cff30c94798f21a82de111367ab8", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a", "org_id": "CentralBank", "token_type": "fungible", "token_id": "", "token_name": "", "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "application_groups": [ "CENTRAL_BANK_USERS" ] }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 70 } }
-
getAccountDetailsByCustomAccountId
- Nombre del método original:
getAccountDetailsByCustomAccountId
- Este método GET devuelve los detalles de la cuenta para un ID de cuenta personalizado especificado. Este método puede ser llamado por un
Token Admin
oToken Auditor
, o unOrg Admin
oOrg Auditor
de la organización especificada. - Consulta:
getAccountDetailsByCustomAccountId?customAccountId=customAccountId value&orgId={{bc-org-id}}&peer={{peer}}
- Parámetros:
customAccountId: string
: ID aleatorio único de cuentas en modo confidencial.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "cf46211c670f7d21feb000a0161baaced91be314ea53981e26dc1482924055c9", "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "0", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "SYSTEM_ADMINS" ], "user_id": "cb_admin_demo", "custom_account_id": "10101234000123" } ], "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20012", "blockNumber": 341 } }
-
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?orgId={{bc-org-id}}&tokenId={{bc-token-id}}&peer={{peer}}
- 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.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- 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, administrador de organización, auditor de organización):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [ "token_admin" ] }, { "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "role_name": null, "valueJson": { "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_AUDITORS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [ "token_auditor" ] }, { "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "role_name": "minter", "valueJson": { "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_CREATORS" ], "max_daily_amount": "1000000", "max_daily_transactions": "100000" }, "non_account_role_name": [] }, { "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "role_name": "notary", "valueJson": { "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_MANAGERS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [] }, { "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "role_name": null, "valueJson": { "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ISSUERS" ], "max_daily_amount": "100000", "max_daily_transactions": "10000" }, "non_account_role_name": [] }, { "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "role_name": "burner", "valueJson": { "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_RETIRERS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [] } ], "encode": "JSON" } }
- Ejemplo de valor devuelto (todos los demás usuarios):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ] } }, { "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "role_name": null, "valueJson": { "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_AUDITORS" ] } }, { "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "role_name": "minter", "valueJson": { "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_CREATORS" ] } }, { "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "role_name": "notary", "valueJson": { "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_MANAGERS" ] } }, { "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "role_name": null, "valueJson": { "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ISSUERS" ] } }, { "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "role_name": "burner", "valueJson": { "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_RETIRERS" ] } } ], "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?orgId={{bc-org-id}}&tokenId={{bc-token-id}}&peer={{peer}}
- 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.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- 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, administrador de organización, auditor de organización):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [ "token_admin" ] } ], "encode": "JSON" } }
- Ejemplo de valor devuelto (todos los demás usuarios):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ] } } ], "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 Auditor
o el notario. - Consulta:
getApproverActionHistory?tokenId={{bc-token-id}}&peer={{peer}}
- Parámetros:
tokenId: string
: ID del token.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~b770", "holding_status": "APPROVE_BURN", "last_updated_time": "2025-08-25T13:21:24.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": null, "to_org_id": null, "token_name": null, "quantity": 200 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~e7b6", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-25T13:20:50.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 1000 }, { "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~81d7c4ac", "holding_status": "EXECUTEHOLD", "last_updated_time": "2025-08-25T13:16:55.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "token_name": null, "quantity": 200 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~1e19", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-13T06:12:41.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 10000 }, { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~1f74", "holding_status": "REJECT_BURN", "last_updated_time": "2025-08-12T21:09:53.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "token_name": null, "quantity": 1000 }, { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~d67c", "holding_status": "REJECT_BURN", "last_updated_time": "2025-08-12T21:09:47.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "token_name": null, "quantity": 2000 }, { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~911b", "holding_status": "APPROVE_BURN", "last_updated_time": "2025-08-12T21:09:40.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": null, "to_org_id": null, "token_name": null, "quantity": 1000 }, { "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~ed815e20", "holding_status": "EXECUTEHOLD", "last_updated_time": "2025-08-12T21:09:25.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "token_name": null, "quantity": 10000 }, { "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~12d87129", "holding_status": "EXECUTEHOLD", "last_updated_time": "2025-08-12T21:09:17.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "token_name": null, "quantity": 10000 }, { "from_account_id": "", "from_org_id": null, "holding_id": "ohold~cbdc~USD~54a4", "holding_status": "REJECT_MINT", "last_updated_time": "2025-08-12T21:01:27.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 40000 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~9b27", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-12T21:01:16.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 30000 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~eda0", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-12T21:01:05.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 20000 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~1baa", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-12T21:01:03.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 10000 } ], "encode": "JSON" } }
-
getCBDCAccount
- Nombre del método original:
getCBDCAccount
- 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 Admin
oToken Auditor
del código de cadena, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de la cuenta. - Consulta:
/getCBDCAccount?accountId=account_id value&peer={{peer}}
- Parámetros:
accountId: string
: ID de la cuenta.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "user_id": "cb_manager_demo", "custom_account_id": "10105678007891", "status": "active", "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "0", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "SYSTEM_MANAGERS" ] }, "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 cadena, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de la cuenta. /getCBDCAccountBalance?accountId=account_id value&peer={{peer}}
- Parámetros:
accountId: string
: ID de la cuenta.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- 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 Admin
oToken Auditor
del código de cadena, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de la cuenta. /getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}&peer={{peer}}
- 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.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 15, "assetType": "oaccount", "user_id": "cb__creator_demo", "custom_account_id": "10105678004567", "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "21000", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "SYSTEM_CREATORS" ] }, { "bapAccountVersion": 0, "assetType": "oaccount", "user_id": "cb__creator_demo", "custom_account_id": "Not Available", "account_id": "oaccount~388fb87df59c6a4fbf0400c58b61aa85f975a8c4209942006b0c0d6334fcf887", "org_id": "CentralBank", "token_type": "fungible", "token_id": "", "token_name": "", "balance": "0", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "application_groups value" ] } ], "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 Admin
oToken Auditor
del código de cadena, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de la cuenta. /getCBDCAccountTransactionHistory?accountId=account_id value&peer={{peer}}
- Parámetros:
accountId: string
: ID de la cuenta.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~4514aa229ebcc4d2fedcaa47c4301615e30c4a9bae45cf0256a5b80d75b3697a", "transacted_amount": 1000, "timestamp": "2025-08-25T13:20:50.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 21000, "onhold_balance": 0 }, { "transaction_id": "otransaction~1982f73495060e0eef4d78282a91c41e27e8c95572739b0677a1e404a0d20aa9", "transacted_amount": 200, "timestamp": "2025-08-25T13:12:43.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~fedd714cf1509f7517819d7cd4c0921d0b2f5d1ff6a25dcb08ab411defd6b5f3", "transacted_amount": 2000, "timestamp": "2025-08-21T05:23:25.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~f33b47234f3ee0b636962c8c31c01d06523b789ca16b3b342d5080b71268bcc3", "transacted_amount": 1000, "timestamp": "2025-08-21T05:23:07.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~cf934527149bc24f62a8ddeeea7f74a19a0f84d8f161535a771be49d2520d5b3", "transacted_amount": 10000, "timestamp": "2025-08-13T06:12:41.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~f5c0e11ca61d9adc843658929e6de2a738ad586304f9e020f75bf4aac5e42a2c", "transacted_amount": 10000, "timestamp": "2025-08-13T06:12:04.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 10000, "onhold_balance": 0 }, { "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6", "transacted_amount": 50000, "timestamp": "2025-08-12T21:04:22.000Z", "token_id": "USD", "category": "transfer", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transaction_type": "DEBIT", "balance": 10000, "onhold_balance": 0 }, { "transaction_id": "otransaction~8a74c6d87ca74a613aab9db5d40386f8d5b534f9800503af8ca27e8946d7616d", "transacted_amount": 40000, "timestamp": "2025-08-12T21:01:27.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REJECT_MINT", "balance": 60000, "onhold_balance": 0 }, { "transaction_id": "otransaction~28ac66ba33f7ad0648448964b2b74525c9e3f0c9908c7a0484690b9baa56c2db", "transacted_amount": 30000, "timestamp": "2025-08-12T21:01:16.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 60000, "onhold_balance": 0 }, { "transaction_id": "otransaction~7e32ad8f365ff59814e112f27602f30ab599fb9c1638784496c66a61a6277c22", "transacted_amount": 20000, "timestamp": "2025-08-12T21:01:05.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 30000, "onhold_balance": 0 }, { "transaction_id": "otransaction~1477050bb9e55f4f471872b31fce0d2097f5d5e57d89a842070df5e36d7ab0da", "transacted_amount": 10000, "timestamp": "2025-08-12T21:01:03.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 10000, "onhold_balance": 0 }, { "transaction_id": "otransaction~0e76c6931b7ee134e967e847d9730b867a0fd191d39697d83d36dd15745c02e3", "transacted_amount": 40000, "timestamp": "2025-08-12T21:00:20.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~07bbf9c190694371626da59ded5d87434d26f612891e13bb15bdd28f6086e760", "transacted_amount": 30000, "timestamp": "2025-08-12T21:00:01.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~8721175c6cbbce17b6c4bb6a444e475d07f52352dfd0d990679f342215153513", "transacted_amount": 20000, "timestamp": "2025-08-12T20:59:41.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~dc24c24d43a6525e807a39edcf8c6a2b6ccb81f0d755958f509509687eacee84", "transacted_amount": 10000, "timestamp": "2025-08-12T20:59:13.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~396e6ca5a11a9609632d0864026409d46a708fb95e3e21b39fa5f3fb78f90872", "transacted_amount": 0, "timestamp": "2025-08-12T20:43:20.000Z", "token_id": "", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "CREATE_ACCOUNT", "balance": 0, "onhold_balance": 0 } ], "encode": "JSON" } }
-
getCBDCAccountTransactionHistoryWithFilters
- 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 Admin
oToken Auditor
del código de cadena, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de la cuenta. /getCBDCAccountTransactionHistoryWithFilters?accountId=account_id value&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"1900-01-01T00:00:00+00:00","endTime":"2100-01-01T00:00:00+00:00"}&peer={{peer}}
- Parámetros:
accountId: string
: ID de la cuenta.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 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 van a devolver. Las propiedadesstartTime
yendTime
se deben especificar en formato RFC-3339.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "transacted_amount": 200, "timestamp": "2025-08-25T13:16:55.000Z", "token_id": "USD", "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transacted_org_id": "Org1", "transacted_user_id": "fi1_org_officer_demo", "transacted_custom_account_id": "20200222221111", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "EXECUTEHOLD", "category": "transfer", "balance": 26800, "onhold_balance": 300 }, { "transaction_id": "otransaction~2b75b3e8531a651f07c2d048d8546ad70ac49c66f0b82ed7626c1739090842ce", "transacted_amount": 100, "timestamp": "2025-08-25T13:16:06.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~e26f11da", "category": "transfer", "balance": 26800, "onhold_balance": 500 }, { "transaction_id": "otransaction~9e7bf14cf96c5f90170da9455b1318687785e936192f60b7cbeb1c8bfabc41d2", "transacted_amount": 100, "timestamp": "2025-08-21T06:57:19.000Z", "token_id": "USD", "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_retirer_demo", "transacted_custom_account_id": "10109999006543", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "from_user_id": "cb_retirer_demo", "from_custom_account_id": "10109999006543", "transaction_type": "CREDIT", "category": "transfer", "balance": 26900, "onhold_balance": 400 }, { "transaction_id": "otransaction~b3901b4754920a9c75e36069dc55024ad505e4c127f334eedf65ef6703dc6b86", "transacted_amount": 200, "timestamp": "2025-08-21T05:39:25.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "to_user_id": "fi2_org_officer_demo", "to_custom_account_id": "30300617202404", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~77b75873", "category": "issuance", "balance": 26800, "onhold_balance": 400 }, { "transaction_id": "otransaction~d55c9dfc9feacb353544b5d8b2ae694162ade3890bcaaf715503fd1d6a73cd1a", "transacted_amount": 200, "timestamp": "2025-08-21T05:39:01.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~81d7c4ac", "category": "transfer", "balance": 27000, "onhold_balance": 200 }, { "transaction_id": "otransaction~751eaedbe4311edd5d17cae53d283caf397d0cb09f18d57a5e3fe61266875ff9", "transacted_amount": 200, "timestamp": "2025-08-13T09:59:22.000Z", "token_id": "USD", "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "transacted_org_id": "org2", "transacted_user_id": "fi2_org_officer_demo", "transacted_custom_account_id": "30300617202404", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "from_org_id": "org2", "from_user_id": "fi2_org_officer_demo", "from_custom_account_id": "30300617202404", "transaction_type": "CREDIT", "category": "transfer", "balance": 27200, "onhold_balance": 0 }, { "transaction_id": "otransaction~70155a8f4e388cc9395dbd03bedaf5a878705f5ad02302c8e9163218a5c3875a", "transacted_amount": 1000, "timestamp": "2025-08-13T06:22:56.000Z", "token_id": "USD", "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transacted_org_id": "Org1", "transacted_user_id": "fi1_org_officer_demo", "transacted_custom_account_id": "20200222221111", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "from_org_id": "Org1", "from_user_id": "fi1_org_officer_demo", "from_custom_account_id": "20200222221111", "transaction_type": "CREDIT", "category": "transfer", "balance": 27000, "onhold_balance": 0 }, { "transaction_id": "otransaction~e595f3f0cc03fa5f58a546b8abbfaf155592e492f850581db2b8fed9a529c9e2", "transacted_amount": 10000, "timestamp": "2025-08-12T21:09:25.000Z", "token_id": "USD", "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "transacted_org_id": "org2", "transacted_user_id": "fi2_org_officer_demo", "transacted_custom_account_id": "30300617202404", "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "to_user_id": "fi2_org_officer_demo", "to_custom_account_id": "30300617202404", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "EXECUTEHOLD", "category": "issuance", "balance": 26000, "onhold_balance": 0 }, { "transaction_id": "otransaction~da92402859d87ae3069722d8e39cb0da448e9a5f67468233ee9b1fe7a4ebeef8", "transacted_amount": 10000, "timestamp": "2025-08-12T21:09:17.000Z", "token_id": "USD", "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transacted_org_id": "Org1", "transacted_user_id": "fi1_org_officer_demo", "transacted_custom_account_id": "20200222221111", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "EXECUTEHOLD", "category": "issuance", "balance": 26000, "onhold_balance": 10000 }, { "transaction_id": "otransaction~6915145aaf09fbf4d96456febddc2aa87b48c08ddd8ff17a6bab5d310f67bb36", "transacted_amount": 1000, "timestamp": "2025-08-12T21:07:11.000Z", "token_id": "USD", "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_retirer_demo", "transacted_custom_account_id": "10109999006543", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "from_user_id": "cb_retirer_demo", "from_custom_account_id": "10109999006543", "transaction_type": "CREDIT", "category": "transfer", "balance": 26000, "onhold_balance": 20000 }, { "transaction_id": "otransaction~244d7172d1dc90a142e1f22204c76614c7eea814b3d61f33016b786f1b347784", "transacted_amount": 10000, "timestamp": "2025-08-12T21:05:39.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "to_user_id": "fi2_org_officer_demo", "to_custom_account_id": "30300617202404", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~ed815e20", "category": "issuance", "balance": 25000, "onhold_balance": 20000 }, { "transaction_id": "otransaction~c63ec37966264493bde6fa666527b9cca11695c15611c32e89af49a2246f13f6", "transacted_amount": 10000, "timestamp": "2025-08-12T21:05:20.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~12d87129", "category": "issuance", "balance": 35000, "onhold_balance": 10000 }, { "transaction_id": "otransaction~5112f576c94c2d23c342479bfa37e34612414b3258a64b43cf51b920f4ff5868", "transacted_amount": 5000, "timestamp": "2025-08-12T21:05:02.000Z", "token_id": "USD", "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_retirer_demo", "transacted_custom_account_id": "10109999006543", "to_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "to_org_id": "CentralBank", "to_user_id": "cb_retirer_demo", "to_custom_account_id": "10109999006543", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "DEBIT", "category": "burn", "balance": 45000, "onhold_balance": 0 }, { "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6", "transacted_amount": 50000, "timestamp": "2025-08-12T21:04:22.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transacted_org_id": "CentralBank", "transacted_user_id": "cb__creator_demo", "transacted_custom_account_id": "10105678004567", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "from_org_id": "CentralBank", "from_user_id": "cb__creator_demo", "from_custom_account_id": "10105678004567", "transaction_type": "CREDIT", "category": "transfer", "balance": 50000, "onhold_balance": 0 } ], "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 Auditor
o un usuario con el rol de quemador. /getCBDCRetiredQuantity?tokenId={{bc-token-id}}&peer={{peer}}
- Parámetros:
tokenId: string
: ID del token.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 1200 }, "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 Admin
oToken Auditor
del código de cadena, unOrg Admin
oOrg Auditor
de la organización especificada o elAccountOwner
de la cuenta. /getOnHoldIds?accountId=account_id value&peer={{peer}}
- Parámetros:
accountId: string
: ID de la cuenta.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- 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 Admin
oToken Auditor
del código de cadena, unOrg Admin
oOrg Auditor
, oNotary
. /getPendingCBDCIssuance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&peer={{peer}}
- 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.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "asset_type": "ONHOLD", "category": "issuance", "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~77b75873", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": "77b75873", "timetoexpiration": "0", "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "token_id": "USD", "token_name": "cbdc", "quantity": 200 }, { "asset_type": "ONHOLD", "category": "transfer", "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~e26f11da", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": "e26f11da", "timetoexpiration": "0", "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "token_id": "USD", "token_name": "cbdc", "quantity": 100 } ], "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 Admin
oToken Auditor
del código de cadena oNotary
. /getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value&orgId={{bc-org-id}}&peer={{peer}}
- Parámetros:
tokenId: string
: ID del token.requestType: string
: tipo de transacción. Por ejemplo,mint
oburn
.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~89ce", "operation_id": "89ce", "token_name": "cbdc", "from_org_id": "CentralBank", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_account_id": "", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "token_id": "USD", "quantity": 2000, "time_to_expiration": "0", "description": "Minting 2000 tokens" } }, { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~cf73", "operation_id": "cf73", "token_name": "cbdc", "from_org_id": "CentralBank", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_account_id": "", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "token_id": "USD", "quantity": 200, "time_to_expiration": "0", "description": "Minting 200" } } ], "encode": "JSON" } }
-
getTotalCBDCBalanceByCallerOrgId
- 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 Auditor
o cualquier propietario de cuenta. /getTotalCBDCBalanceByCallerOrgId?peer={{peer}}
- Parámetros:
peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalBalance": 50500 }, "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 Admin
oOrg Auditor
. - Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}&peer={{peer}}
- Parámetros:
tokenId: string
: ID del token.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 71000 tokens.", "quantity": 71000 }, "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&peer={{peer}}
- Parámetros:
tokenId: string
: ID del token.transactionId: string
: ID de la transacción.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "blockNo": 340, "key": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "metadata": null, "txnNo": 0, "value": null, "valueJson": { "assetType": "otransaction", "blockNo": 336, "txnNo": 1, "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "token_id": "USD", "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_account_balance": 26800, "from_account_onhold_balance": 300, "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transaction_type": "EXECUTE_HOLD_SENDER", "amount": 200, "timestamp": "2025-08-25T13:16:55.000Z", "number_of_sub_transactions": 0, "holding_id": "ohold~cbdc~USD~81d7c4ac", "sub_transaction": "false", "category": "transfer", "global_transaction_id": "b54d4333-f4bb-4ca4-a7b7-cc75b659d912" } } ], "encode": "JSON" } }
-
getUserByCBDCAccountId
- Nombre del método original:
getUserByAccountId
- Este método devuelve los detalles del usuario (
orgId
,userId
ytokenId
) para una cuenta especificada. Este método solo puede ser llamado por unToken Admin
oToken Auditor
del código de cadena, o por unOrg Admin
oOrg Auditor
de la organización especificada. - Consulta:
/getUserByCBDCAccountId?accountId=account_id value&peer={{peer}}
- Parámetros:
accountId: string
: ID de la cuenta.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "org_id": "CentralBank", "user_id": "cb_admin_demo", "custom_account_id": "10101234000123" }, "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 Admin
oToken Auditor
del código de cadena. - Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)&peer={{peer}}
- Parámetros:
tokenId: string
: ID del token.role: string
: nombre del rol que se va a buscar.peer: string
: nombre del nodo peer en el que se va a ejecutar la consulta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "token_id": "USD", "org_id": "CentralBank" } ] }, "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:
{ "operationId": "operation_id value", "toAccountId": "to_account_id value", "notaryAccountId": "notary_account_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
operationId: string
: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.toAccountId: string
: ID de cuenta del receptor.notaryAccountId: string
: ID de cuenta 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "4793f3907eefce2f9fca7ef107405b0f116efb3afbf83fa0e61fe763690c8235", "payload": { "msg": "AccountId oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3 is successfully holding 100 tokens" }, "encode": "JSON", "sourceURL": "org1-oabcs1-nrt.blockchain.ocp.example.com:20012", "blockNumber": 343 } }
-
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 Admin
del código de cadena. - Carga Útil:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]", "transientMapArgsFlag": true }
- Parámetros:
adminList array
: matriz de información{user_id, org_id}
que especifica la lista de administradores de tokens. La matrizadminList
es un parámetro obligatorio.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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 Admin
del código de cadena. - Carga Útil:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"USD dollar\",\"Currency_Name\":\"US currency\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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": "524be506f53ddf27c42db2be2d7d7ed7f8746880c3bf7990605a4b50fe62a616", "payload": { "assetType": "otoken", "events": true, "token_id": "PHP", "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": 0, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "Currency_Name": "Currency_Name value" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 344 } }
-
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", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "182b99bb2ed753994a8c638ab9b08c3a4e73ac8159a3173a2a1f56b651d2eeac", "payload": { "msg": "Successfully rejected mint request with Operation Id '89ce' to mint 2000 tokens of token id USD" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 345 } }
-
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", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "af2cc8e43ecb4c5520d90a8d7955b5a47623a29b13eef47e31c16eb48cc0adec", "payload": { "msg": "Successfully rejected burn request with Operation Id '8d34' to burn 100 tokens of token id USD" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 346 } }
-
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, 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}}, "transientMapArgsFlag": true }
- 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "c628fb7738222ed969295ccc8d21b4be95d96e3aada4f14570f7820a7051b5f7", "payload": { "msg": "Successfully released '200' tokens from Operation Id '77b75873' to Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a (Org-Id: CentralBank, User-Id: cb_issuer_demo)." }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 347 } }
-
removeCBAdmin
- Nombre del método original:
removeTokenAdmin
- Este método POST elimina un usuario como
Token Admin
del código de cadena. Este método solo puede ser llamado por unToken Admin
del código de cadena. Un administrador no puede eliminarse a sí mismo. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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 Auditor
del código de cadena. Este método solo puede ser llamado por unToken Admin
del código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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 Admin
del código de cadena. Este método solo puede ser llamado por unToken Admin
oOrg Admin
de la organización especificada. UnOrg Admin
no se puede eliminar a sí mismo. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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 Auditor
del código de cadena. Este método solo puede ser llamado por unToken Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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 Admin
del código de cadena o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "role": "role value (for example minter / burner / notary)", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de la cuenta.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.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "d92538a8f9cf2d45a0c14307ce192c399230cbf4022cec5dd6ce560cca527bf3", "payload": { "msg": "Successfully removed role 'notary' from Account Id: oaccount~e8450f7a1f320658169315fb4148ad7cb4c47c31435420fd459665f41238221b" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 72 } }
-
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:
{ "operationId": "operation_id value", "notaryAccountId": "notary_account_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
operationId: string
: ID de operación único que representa la solicitud de moneda.notaryAccountId: string
: ID de cuenta 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" }
endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "1982f73495060e0eef4d78282a91c41e27e8c95572739b0677a1e404a0d20aa9", "payload": { "msg": "AccountId oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41 has successfully submitted request to mint 200 tokens" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 332 } }
-
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:
{ "operationId": "operation_id value", "notaryAccountId": "notary_account_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
operationId: string
: el ID de operación único que representa la solicitud de grabación.notaryAccountId: string
: ID de cuenta del notario 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" }
endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "3b1ba40490dea9bcc4df6ad22ffc7651fbbea5d1889e42a1841ee48d6ae653c6", "payload": { "msg": "AccountId oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98 has successfully submitted request to burn 100 tokens" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 333 } }
-
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 solo puede ser llamado por unToken Admin
del código de cadena o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "applicationGroups": "[\"application_groups value\"]", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de cuenta de la cuenta de 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "828fd2ece518fcf266868c840b3b1fc6b967c5c64d7591c42eb18c0c7850dc32", "payload": { "bapAccountVersion": 10, "assetType": "oaccount", "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "02c4601262fa7ece1ffc909811f829ad973d4133ca27c9c0fa82972d441400ad3e", "onhold_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f", "onhold_burn_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f", "application_groups": [ "SYSTEM_RETIRERS" ] }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 348 } }
-
setMaxDailyAmount
- Nombre del método original:
setMaxDailyAmount
- Este método POST se utiliza para definir el parámetro
maxDailyAmount
en los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "maxDailyAmount": "max_daily_amount value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de cuenta de la cuenta de 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "d6a8c26602c2a9cef5d6d563dbc50044af6380c96f7295e2c8e1bbf576cef36f", "payload": { "msg": "Successfully set max daily amount for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 1000000" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 351 } }
-
setMaxDailyTransactionCount
- Nombre del método original:
setMaxDailyTransactionCount
- Este método POST se utiliza para definir el parámetro
maxDailyTransactions
en los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por unToken Admin
del código de cadena o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "maxDailyTransactions": "max_daily_transactions value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de cuenta de la cuenta de 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "c819da688bbe9cd4ef6fae79af014c66438b5f9d17f771d3ffc5878288097614", "payload": { "msg": "Successfully set max daily transactions for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 100000" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 350 } }
-
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 la contabilidad. Este método solo puede ser llamado por unToken Admin
del código de cadena o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "accountId": "account_id value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
accountId: string
: ID de cuenta de la cuenta de token.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "1fa66e75ba2ab9376944a8b4e362d5fe54e167f8ada989bd9653ea54f7557aea", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d0b8ba4d154d19fd7e61e7793795a5a5b65e2266102aafdd6d01cec1a3336c71", "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "status": "suspended" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 342 } }
-
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
decimal
del comportamientodivisible
en el archivo de especificación. - Carga Útil:
{ "toAccountId": "to_account_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parámetros:
toAccountId: string
: ID de cuenta 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.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "62eb436be7c29fc2ed9cae221e874d9a31b163fa10374e7da09bf5e09a96c3ff", "payload": { "msg": "Successfully transferred 10000 tokens from account id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41 to account id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a." }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 352 } }
El paquete de API de envoltorio también incluye las API approveHoldCBDCTokensInterOrg
y createCBDCAccount
, que combinan 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.
-
approveHoldCBDCTokensInterOrg
- Este método transfiere tokens de forma segura entre organizaciones. Internamente, este método utiliza la API de confirmación en dos fases en Oracle Blockchain Platform.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "senderEndorsers": ["Sender Endorsers values"], "receiverEndorsers": ["Receiver Endorsers values"], "transientMapArgsFlag": true }
- Parámetros de Carga Útil:
tokenId: string
: ID del token CBDC que se va a transferir. El ID de token debe existir en el libro mayor.operationId: string
: el ID de operación único de la solicitud de transferencia (retención) que se debe aprobar.quantity: number
: número de tokens que se van a transferir.senderEndorsers: string[]
: matriz de los pares de la organización del remitente (por ejemplo,["peer0.senderorg", "peer1.senderorg"]
) que deben respaldar la transacción.receiverEndorsers: string[]
: matriz de los pares de la organización del receptor (por ejemplo,["peer0.receiverorg", "peer1.receiverorg"
) que deben aprobar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "transactions": [ { "channel": "buildtest", "chaincode": "WCBDCConfAug13", "txstatus": "Committed", "prepare": { "txid": "3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "blockNumber": 335 }, "commit": { "txid": "9cfa020acc13c1de911e8a53eae799f47c1947d88a608753edb4b97fe45d00cc", "blockNumber": 336 }, "rollback": {} }, { "channel": "buildtest", "chaincode": "WCBDCConfAug13", "txstatus": "Committed", "prepare": { "txid": "32137cd7e16c560f4d96d0f8999f6a267c1e95be2f5b11ef0541e574a6cd7275", "blockNumber": 335 }, "commit": { "txid": "ac55bd7648680ff6b795e4a99026d7c538f68167683e1e622e55778a2930614d", "blockNumber": 336 }, "rollback": {} } ], "lrc": {}, "globalStatus": "Success", "globalTxid": "b54d4333-f4bb-4ca4-a7b7-cc75b659d912", "txStartTime": "2025-08-25T13:16:55.825578503Z" } }
-
createCBDCAccount
-
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.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "applicationGroups": "[\"applicationGroups value\"]", "customAccountId": "custom_account_id value", "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor/ No)", "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- 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
.customAccountId
: ID aleatorio único para las cuentas que utilizan código de cadena de modo confidencial.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
,orgAdmin
oorgAuditor
.dailyLimits
: dos campos numéricos que definen los límites de transacción diaria:max_daily_amount
ymax_daily_transactions
.endorsers: string[]
: matriz de los pares (por ejemplo,peer1
,peer2
) que deben respaldar la transacción.transientMapArgsFlag
: valor booleano. Si es verdadero, los argumentos se envían a través de un mapa transitorio para la confidencialidad. Si es falso, los argumentos se envían a través de la carga útil estándar.
- 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, "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" } }