Paquete de API de envoltorio de marco de token fungible
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 un escenario de token de depósito.
El paquete de API de envoltorio utiliza el servicio API Gateway y OCI Functions para desplegar rutas de API diseñadas específicamente para la aplicación de token de depósito. El paquete de API de envoltorio de marco de token fungible se puede descargar desde la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
DepositTokenWrapperAPI.zip, un archivo de almacenamiento que contiene el paquete de API de envoltorio que incluye los scripts de Terraform necesarios para el despliegue. Este archivo se despliega en una pila de Resource Manager en Oracle Cloud Infrastructure (OCI) para crear los recursos de Oracle necesarios para las API de envoltorio.DepositToken_WrapperAPI.postman_collection.json, una recopilación de Postman que permite probar las API de envoltorio desplegadas. La recopilación incluye solicitudes preconfiguradas con puntos finales y cargas útiles que corresponden a las API definidas en el paquete de API de envoltorio.
API de envoltorio
-
registerOrg - Nombre del método original:
registerOrg - Este método POST registra una organización en el sistema. Este método solo puede ser llamado por un administrador de token.
- Carga Útil:
{ "orgId": "{{bc-org-id}}", "orgName": "org_name value", "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.orgName: string: (opcional) nombre de la organización.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "assetType": "oorgregistry", "org_registry_id": "orgregistry", "registered_orgs": [ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] } -
getAllRegisteredOrgs - Nombre del método original:
getAllRegisteredOrgs - Este método GET recupera los detalles de todas las organizaciones registradas. Este método solo puede ser llamado por un administrador de token.
- Consulta:
/getAllRegisteredOrgs - Parámetros:
- ninguno
- Ejemplo de valor devuelto:
[ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] -
activateAccount - Nombre del método original:
activateAccount - Este método POST activa una cuenta de token. Este método solo puede ser llamado por
Token AdminoOrg Adminde la organización especificada. Para cualquier cuenta creada antes de la funcionalidad de estado de cuenta, debe llamar a este método para ver el estado de la cuenta como activa. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Devuelve:
- Una vez realizado correctamente, una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } } -
addTokenAdmin - Nombre del método original:
addTokenAdmin - Este método POST agrega un usuario como
Token Admindel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
Token Admindel código de cadena.
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
addTokenAuditor - Este método POST agrega un usuario como
Token Auditordel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
Token Auditordel código de cadena.
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0", "payload": { "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } } -
addOrgAdmin - Nombre del método original:
addOrgAdmin - Este método POST agrega un usuario como
Token Admindel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
Org Admindel código de cadena.
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a", "payload": { "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } } -
addOrgAuditor - Este método POST agrega un usuario como
Org Auditordel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena o unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
Org Auditordel código de cadena.
- Si se ha realizado correctamente, un mensaje que incluye detalles del usuario que se ha agregado como
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 198 } } -
addRole - Nombre del método original:
addRole - Este método agrega el rol al usuario y al token especificados.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a agregar al usuario especificado.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.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": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c", "payload": { "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 201 } } -
approveMint - Nombre del método original:
approveMint - Los notarios pueden llamar a este método POST para aprobar una solicitud de menta.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token.operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "payload": { "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 204 } } -
executeHoldTokens - Nombre del método original:
executeHoldTokens - Los notarios llaman a este método para aprobar una retención de tokens. La cantidad de tokens retenidos anteriormente por el propietario del token ahora se transfiere al destinatario. Si el valor
quantityes menor que el valor de retención real, el importe restante vuelve a estar disponible para el propietario del token. Si el comportamientorolesse especifica en la secciónbehaviorsdel modelo de token y se define el valornotary_role_name, la cuenta del emisor de llamada debe tener un rol de notario. De lo contrario, cualquier persona que llame con una cuenta puede funcionar como notario. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.operationId: string: ID de operación único de la solicitud de moneda que se debe aprobar.quantity: number: número de tokens retenidos para transferir.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a", "payload": { "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } } -
associateTokenToAccount - Nombre del método original:
associateTokenToAccount - Este método POST asocia un ID de cuenta especificado a un token especificado. Se puede llamar mediante
Token AdminoOrg Admin. - Carga Útil:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} } - Parámetros:
accountId: string: ID de la cuenta.tokenId: string: ID del token.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090", "user_id": "cb12", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-11T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 216 } } -
createAccount - Nombre del método original:
createAccount - Este método crea una cuenta para un usuario y token especificados. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. Los ID de cuenta se forman concatenando el tipo de activo y el ID de token y, a continuación, creando un hash SHA-256 en una concatenación del ID de organización y el ID de usuario. Este método solo se puede llamar mediante un
Token Admindel código de cadena o elOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "fungible", "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}", "endorsers": {{endorsers}} } - Parámetros:
orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que se creará la cuenta. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe empezar por un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos at (@) y guiones (-).tokenType: TokenType: tipo de token, que debe serfungible.daily_limits: DailyLimits: objeto JSON del siguiente tipo.
En el ejemplo, el valor{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }max_daily_amountes la cantidad máxima de tokens que se pueden realizar diariamente y el valormax_daily_transactionses el número máximo de transacciones que se pueden completar diariamente.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } } -
getAccount - Nombre del método original:
getAccount - Este método devuelve los detalles de la cuenta de un usuario especificado. Este método solo puede ser llamado por un
Token Admindel código de cadena o elAccount Ownerde la cuenta. - Consulta:
/getAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON" } } -
getAccountBalance - 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
Token AdminoAccountOwnerde la cuenta. /getAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Current Balance is: 100", "user_balance": 100 }, "encode": "JSON" } } -
getAccountsByUser - Nombre del método original:
getAccountsByUser - Este método devuelve una lista de todas las cuentas de un usuario especificado. Este método solo puede ser llamado por un
Token Admindel código de cadena o elAccount Ownerde la cuenta. - Consulta:
/getAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}} - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" } ], "encode": "JSON" } } -
getAccountTransactionHistory - Nombre del método original:
getAccountTransactionHistory - Este método GET devuelve el historial de transacciones de la cuenta. Este método solo lo puede llamar un
Token Admindel código de cadena o el propietario de la cuenta. /getAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } } -
getAccountTransactionHistoryWithFiltersFromRichHistDB - 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
Token AdminoAccountOwnerde la cuenta. Para poder utilizar este método, debe ejecutar Oracle Autonomous Database con Oracle REST Data Services (ORDS) y OAuth activados, como se describe en Oracle Database View Definitions for Wholesale CBDC. /getAccountTransactionHistoryWithFiltersFromRichHistDB?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.customEndpoint: punto final de servicio RESTful de la base de datos de historial enriquecido desde la que se recuperará el historial de transacciones.bearerToken: token que se va a utilizar para llamar al punto final RESTful para asegurarse de que la solicitud está autorizada.filters: string: parámetro opcional. Si está vacío, se devuelven todos los registros. La propiedadPageSizedetermina el número de registros que se devolverán. SiPageSizees 0, el tamaño de página por defecto es 20. La propiedadBookmarkdetermina el índice inicial de los registros que se van a devolver. Las propiedadesStartTimeyEndTimese deben especificar en formato RFC-3339.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } } -
getNetTokens - Nombre del método original:
getNetTokens - Este método GET devuelve el número neto total de tokens disponibles en el sistema para un token especificado. El total neto de tokens es la cantidad de tokens que quedan después de que los tokens se queman. Este método solo se puede llamar mediante un
Token Admindel código de cadena o unOrg Adminde la organización especificada. /getNetCBDCTokens?tokenId={{bc-token-id}}- Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Net supply of token for Token Id: USD is 878 tokens.", "quantity": 878 }, "encode": "JSON" } } -
getOnHoldIds - Nombre del método original:
getOnHoldIds - Este método GET devuelve una lista de todos los ID de retención para un usuario y token especificados. Este método solo se puede llamar mediante
Token Admin,Org AdminoAccountOwnerde la cuenta. /getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}- Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315", "holding_ids": [ "ohold~cbdc~USD~8e3147", "ohold~cbdc~USD~8e315" ] }, "encode": "JSON" } } -
getTotalMintedTokens - Nombre del método original:
getTotalMintedTokens - Este método GET devuelve el número total de tokens acuñados para un token especificado. Este método solo se puede llamar mediante
Token AdminoOrg Admin. - Consulta:
/getTotalMintedTokens?tokenId={{bc-token-id}} - Parámetros:
tokenId: string: ID del token.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 910 tokens.", "quantity": 910 }, "encode": "JSON" } } -
getUserByAccountId - Nombre del método original:
getUserByAccountId - Este método GET devuelve los detalles de usuario de una cuenta especificada. Este método se puede llamar mediante
Token Admin,Token AuditoroOrg Auditor. - Consulta:
/getUserByAccountId?accountId=account_id value - Parámetros:
accountId: string: ID de la cuenta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "user_id": "admin_user_cb", "org_id": "CB" }, "encode": "JSON" } } -
getUsersByRole - Nombre del método original:
getUsersByRole - Este método devuelve una lista de todos los usuarios para un rol y token especificados. Este método solo se puede llamar mediante
Token Admin. /getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)- Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a buscar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "token_id": "USD", "user_id": "creator_user_cb", "org_id": "CB" }, { "token_id": "USD", "user_id": "cb4", "org_id": "CB" } ] }, "encode": "JSON" } } -
holdTokens - Nombre del método original:
holdTokens - Este método crea una retención en nombre del propietario de los tokens con la cuenta
to_account_id. Se especifica una cuenta de notario, que es responsable de completar o liberar la retención. Cuando se crea la retención, el saldo de token especificado del pagador se retiene. Un saldo retenido no se puede transferir hasta que la retención se haya completado o liberado. El emisor de la llamada de este método debe tener una cuenta ya creada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.toUserId: string: nombre de usuario o ID de correo electrónico del receptor.notaryOrgId: string: ID del proveedor de servicios de membresía (MSP) del notario en la organización actual.notaryUserId: string: nombre de usuario o ID de correo electrónico del notario.quantity: number: número de tokens que se deben retener.timeToExpiration: hora a la que caduca la retención. Especifique 0 para una retención permanente. De lo contrario, utilice el formato RFC-3339. Por ejemplo, 2021-06-02T12:46:06Z.infoDetails: JSON: descripción y categoría, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062", "payload": { "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 211 } } -
init - Nombre del método original:
init - Este método se llama cuando se despliega el código de cadena. La información de usuario se guarda como el
Token Admindel código de cadena. - Carga Útil:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" } - Parámetros:
adminList array: matriz de información{user_id, org_id}que especifica la lista de administradores de tokens. La matrizadminListes un parámetro obligatorio.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } } -
initializeDepositToken - Nombre del método original:
initializeDepositToken - Este método crea un token e inicializa las propiedades del token. El activo y sus propiedades se guardan en la base de datos de estado. Este método solo puede ser llamado por un
Token Admindel código de cadena. - Carga Útil:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\"}", "sameOrgEndorser": true } - Parámetros:
tokenAsset: <Token Class>: el activo de token se transfiere como parámetro a este método. Las propiedades del activo de token se describen en el archivo de modelo.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- En caso de éxito, una representación JSON del activo de token que se creó.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8", "payload": { "assetType": "otoken", "events": false, "token_id": "t1", "token_name": "cbdc", "token_desc": "token_desc value", "token_standard": "ttf+", "token_type": "fungible", "token_unit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "holdable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner", "notary_role_name": "notary", "mint_approver_role_name": "notary", "burn_approver_role_name": "notary" }, "mintable": { "max_mint_quantity": 1000, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } } -
rejectMint - Nombre del método original:
rejectMint - Este método puede ser llamado por un notario para rechazar una solicitud de acuñación.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parámetros:
token_id: string: ID del token para rechazar la extracción.operation_id: string: ID de operación único que representa la solicitud de moneda.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "payload": { "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 205 } } -
releaseHoldTokens - 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.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "endorsers": {{endorsers}} } - Parámetros:
token_id: string: ID del token.operation_id: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380", "payload": { "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 214 } } -
removeTokenAdmin - Nombre del método original:
removeTokenAdmin - Este método POST elimina un usuario como
Token Admindel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. Un administrador no puede eliminarse a sí mismo. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
org_id: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.user_id: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739", "payload": { "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 218 } } -
removeTokenAuditor - Nombre del método original:
removeTokenAuditor - Este método POST elimina un usuario como
Token Auditordel código de cadena. Este método solo puede ser llamado por unToken Admindel código de cadena. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
org_id: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.user_id: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b", "payload": { "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 219 } } -
removeOrgAdmin - Nombre del método original:
removeOrgAdmin - Este método POST elimina un usuario como
Org Admindel código de cadena. Este método solo puede ser llamado por unToken AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
org_id: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.user_id: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597", "payload": { "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 220 } } -
removeOrgAuditor - Nombre del método original:
removeOrgAuditor - Este método POST elimina un usuario como
Org Auditordel código de cadena. Este método solo puede ser llamado por unToken AdminoOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
org_id: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.user_id: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306", "payload": { "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 221 } } -
removeRole - Nombre del método original:
removeRole - Este método elimina un rol de un usuario especificado. Este método solo puede ser llamado por un
Token Admindel código de cadena o unOrg Adminde la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a eliminar del usuario especificado. Los comportamientosmintableyburnablecorresponden a las propiedadesminter_role_nameyburner_role_namedel archivo de especificación.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12", "payload": { "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 200 } } -
requestMint - Nombre del método original:
requestMint - Este método puede ser llamado por un minter para enviar una solicitud al notario para crear una cantidad especificada de tokens.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token que se debe acuñar.operationId: string: ID de operación único que representa la solicitud de moneda.notaryOrgId: string– El ID del proveedor de servicios de membresía (MSP) del notario menor que procesará la solicitud.notaryUserId: string: nombre de usuario o ID de correo electrónico del notario menor que procesará la solicitud.quantity: number: cantidad de tokens que se deben acuñar.timeToExpiration: el tiempo después del cual caduca la solicitud de extracción y ya no es válida.infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "payload": { "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 202 } } -
burnTokens - Nombre del método original:
burnTokens - Este método POST desactiva o quema tokens de la cuenta del emisor de la transacción. La persona que llama a este método debe tener una cuenta y el rol de quemador. La cantidad debe estar dentro de los valores decimales especificados por el parámetro
decimaldel comportamientodivisibleen el archivo de especificación. Este método puede ser llamado por elAccountOwnerde la cuenta con el rol de quemador. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true } - Parámetros:
tokenId: string: ID del token.quantity: número de tokens que se van a grabar.infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- En caso de éxito, un mensaje de éxito con la cantidad de tokens quemados y el ID de cuenta.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "aff0b2dbb163ec8076747525db81fbe8f678ac88a277c5f234337f0747eb1a8d", "payload": { "msg": "Successfully burned 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 96 } } -
setMaxDailyAmount - Nombre del método original:
setMaxDailyAmount - Este método POST se utiliza para definir el parámetro
maxDailyAmounten los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.tokenId: string: ID del token.maxDailyAmount: number: valor de importe diario máximo para la cuenta especificada, que define el importe máximo que se puede realizar a diario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 222 } } -
setMaxDailyTransactionCount - Nombre del método original:
setMaxDailyTransactionCount - Este método POST se utiliza para definir el parámetro
maxDailyTransactionsen los detalles de la cuenta para el importe especificado. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.tokenId: string: ID del token.maxDailyTransactions: number: valor de importe máximo diario para la cuenta especificada, que define el número máximo de transacciones permitidas por día.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 223 } } -
suspendAccount - Nombre del método original:
suspendAccount - Este método suspende una cuenta de token fungible. Devuelve un error si no se encuentra un valor
accountStatusen la contabilidad. Este método solo puede ser llamado por unToken Admindel código de cadena o por unOrg Adminde la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 195 } } -
transferTokens - Nombre del método original:
transferTokens - Este método transfiere tokens del emisor de llamada a una cuenta especificada. El emisor de llamada del método debe tener una cuenta. La cantidad debe estar dentro de los valores decimales especificados por el parámetro
decimaldel comportamientodivisibleen el archivo de especificación. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} } - Parámetros:
tokenId: string: ID del token.toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor (beneficiario) de la organización actual.toUserId: string: nombre de usuario o ID de correo electrónico del receptor.quantity: number: número de tokens que se van a transferir.infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7", "payload": { "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 224 } } -
initializeExchangePoolUser - Nombre del método original:
initializeExchangePoolUser - Este método inicializa el usuario del pool de intercambio, que es una actividad puntual. Este método solo puede ser llamado por
Token Admin. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parámetros:
orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversion", "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b", "org_id": "Org1MSP", "user_id": "exchangepooluser" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } } -
createExchangePoolAccounts - Nombre del método original:
createExchangePoolAccounts - Este método crea cuentas de token de grupo de intercambio para una matriz determinada de ID de token. Este método solo puede ser llamado por un
Token Admindel código de cadena. - Carga Útil:
{ "tokenIds": "[{{bc-token-id}}]", "sameOrgEndorser": true } - Parámetros:
token_ids: string []: matriz de ID de token.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": [ { "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034", "token_id": "USD", "status": "created" }, { "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0", "token_id": "INR", "status": "created" } ], "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } } -
addConversionRate - Nombre del método original:
addConversionRate - Este método agrega una tasa de conversión para un par de tokens. La tasa de conversión de token se puede especificar hasta ocho decimales. Este método solo puede ser llamado por un
Token Admindel código de cadena. - Carga Útil:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 10, "sameOrgEndorser": true } - Parámetros:
fromTokenId: string: ID del token desde el que se realizará la conversión.toTokenId: string: ID del token al que se va a convertir.tokenConversionRate: number: ratio al que se convierte el tokenfromTokenIden el tokentoTokenId.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 10 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 189 } } -
updateConversionRate - Nombre del método original:
updateConversionRate - Este método actualiza la tasa de conversión actual para un par de tokens. La tasa de conversión de token se puede especificar hasta ocho decimales. Este método solo puede ser llamado por un
Token Admindel código de cadena. - Carga Útil:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 20, "sameOrgEndorser": true } - Parámetros:
fromTokenId: string: ID del token desde el que se realizará la conversión.toTokenId: string: ID del token al que se va a convertir.tokenConversionRate: number: ratio al que se convierte el tokenfromTokenIden el tokentoTokenId.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 208 } } -
mintWithFundingExchangePool - Nombre del método original:
mintWithFundingExchangePool - Este método acuña tokens en la cuenta del emisor de llamada en función del ID de token y la cantidad especificados. A continuación, se transfiere un porcentaje de tokens de la cantidad acuñada a la cuenta de token de grupo de intercambio.
{ "tokenId": "{{bc-token-id}}", "tokenQuantity": 100, "percentageTokenToExchangePool": 20, "sameOrgEndorser": true }- Parámetros:
tokenId: string: ID del token que se debe acuñar.tokenQuantity: number: número total de tokens que se deben acuñar.percentageTokenToExchangePool: number: porcentaje de tokens acuñados que se transferirán a la cuenta de token de pool de intercambio.sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) " }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 209 } } -
tokenConversion - Nombre del método original:
tokenConversion - Este método convierte tokens de la cuenta del emisor de llamada a la cuenta especificada por los valores
to_token_id,to_org_idyto_user_id. Este método puede ser llamado por elToken Admindel código de cadena y por cualquier propietario de cuenta de token. Un usuario de pool de intercambio no puede llamar a este método. { "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "tokenQuantity": 5, "endorsers": {{endorsers}} }- Parámetros:
fromTokenId: string: ID del token desde el que se realizará la conversión.toTokenId: string: ID del token al que se va a convertir.toOrgId: string: ID del proveedor de servicios de membresía (MSP) del usuario de la organización actual que recibirá los tokens.toUserId: string: nombre de usuario o ID de correo electrónico del usuario que recibirá los tokens.tokenQuantity: number: número total de tokens que se van a transferir.endorsers: string[]: matriz de los pares (por ejemplo,peer1,peer2) que deben respaldar la transacción.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } } -
getConversionRate - Nombre del método original:
getConversionRate - Este método GET obtiene la tasa de conversión actual para un par de tokens. Este método se puede llamar mediante
Token Admin,Token Auditor,Org AdminoOrg Auditor. - Consulta:
/getConversionRate?fromTokenId=from_token_id value&toTokenId=to_token_id value - Parámetros:
fromTokenId: string: ID del token desde el que se realizará la conversión.toTokenId: string: ID del token al que se va a convertir.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 }, "encode": "JSON" } } -
getConversionHistory - Nombre del método original:
getConversionRate - Este método GET devuelve el historial de conversión de token para una cuenta de token especificada. Este método puede ser llamado por
Token Admin,Token Auditor,Org Admin,Org Auditoro el propietario de la cuenta de token. - Consulta:
/getConversionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf", "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb", "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e", "transacted_amount": 5, "converted_amount": 100, "conversion_rate": "20", "from_token_id": "USD", "to_token_id": "INR", "balance": 75, "onhold_balance": 0, "timestamp": "2022-11-30T11:03:20.000Z", "transaction_type": "TOKEN_CONVERSION_DEBIT" } ], "encode": "JSON" } } -
getExchangePoolUser - Nombre del método original:
getExchangePoolUser - Este método GET devuelve los valores de ID de organización e ID de usuario para el usuario del grupo de intercambio. Este método solo puede ser llamado por un
Token AdminoToken Auditordel código de cadena. - Consulta:
/getExchangePoolUser - Parámetros:
- ninguno
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oconversion", "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b", "org_id": "Org1MSP", "user_id": "exchangepooluser" }, "encode": "JSON" } } -
getAccountOnHoldBalance - Nombre del método original:
getAccountOnHoldBalance - Este método GET devuelve el saldo actual retenido para una cuenta y un token especificados. Este método solo se puede llamar mediante
Token Admin,Token Auditor,Org Admin,Org Auditoro elAccountOwnerde la cuenta. - Consulta:
/getAccountOnHoldBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg":"Total Holding Balance is: 0","holding_balance":0 }, "encode": "JSON" } } -
getAccountStatus - Nombre del método original:
getAccountStatus - Este método GET recupera el estado actual de la cuenta de token. Este método puede ser llamado por
Token Admin,Token Auditor,Org Admin,Org Auditoro por el propietario de la cuenta de token. - Consulta:
/getAccountStatus?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}} - Parámetros:
tokenId: string: ID del token.orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario de la organización actual.userId: string: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } } -
getAccountsByRole - Nombre del método original:
getAccountsByRole - Este método devuelve una lista de todos los ID de cuenta para un rol especificado. Este método solo puede ser llamado por un
Token Admindel código de cadena. - Consulta:
/getAccountsByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary) - Parámetros:
tokenId: string: ID del token.role: string: nombre del rol que se va a buscar.
- Ejemplo de valor devuelto:
{ "returnCode": "Success", "error": "", "result": { "payload": { "accounts":["oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f"] }, "encode": "JSON" } }