- Edición de activos digitales de Oracle Blockchain Platform
- Marcos de token genéricos
- Marco de token fungible
- Paquete de API de envoltorio de marco de token fungible
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, incluidos los scripts de Terraform necesarios para el despliegue. Puede desplegar este archivo en una pila de Resource Manager en Oracle Cloud Infrastructure (OCI) para crear los recursos de Oracle necesarios para las API de Wrapper.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
-
activateAccount
- Nombre del método original:
activateAccount
- Este método POST activa una cuenta de token. Este método sólo puede ser llamado por
Token Admin
oOrg Admin
de la organización especificada. Para las cuentas creadas antes de la funcionalidad de estado de cuenta, debe llamar a este método para ver el estado de la cuenta como activo. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Devuelve:
- Una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } }
-
addTokenAdmin
- Nombre del método original:
addTokenAdmin
- Este método POST agrega un usuario como
Token Admin
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
Token Admin
del código de cadenas.
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
addTokenAuditor
- Este método POST agrega un usuario como
Token Auditor
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
Token Auditor
del código de cadenas.
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0", "payload": { "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } }
-
addOrgAdmin
- Nombre del método original:
addOrgAdmin
- Este método POST agrega un usuario como
Token Admin
del código de cadenas. Este método solo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
Org Admin
del código de cadenas.
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a", "payload": { "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } }
-
addOrgAuditor
- Este método POST agrega un usuario como
Org Auditor
del código de cadenas. Este método solo lo puede llamar unToken Admin
del código de cadenas o unOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Devuelve:
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
Org Auditor
del código de cadenas.
- Cuando se realiza correctamente, un mensaje que incluye detalles del usuario que se agregó como
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 198 } }
-
addRole
- Nombre del método original:
addRole
- Este método agrega el rol al usuario y al token especificados.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.role: string
: nombre del rol que se va a agregar al usuario especificado.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 moneda.
- Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parámetros:
tokenId: string
: ID del token.operationId: string
: ID de operación único de la solicitud de moneda que se va a aprobar.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "payload": { "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 204 } }
-
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
quantity
es menor que el valor de retención real, el importe restante está disponible de nuevo para el propietario del token. Si se especifica el comportamientoroles
en la secciónbehaviors
del modelo de token y se define el valornotary_role_name
, la cuenta de emisor de llamada debe tener el rol de notario. De lo contrario, cualquier persona que llame con una cuenta puede funcionar como notario. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.operationId: string
: ID de operación único de la solicitud de moneda que se va a aprobar.quantity: number
: número de tokens retenidos para transferir.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a", "payload": { "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } }
-
associateTokenToAccount
- Nombre del método original:
associateTokenToAccount
- Este método POST asocia un ID de cuenta especificado a un token especificado. Se puede llamar mediante
Token Admin
oOrg 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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090", "user_id": "cb12", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-11T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 216 } }
-
createAccount
- Nombre del método original:
createAccount
- Este método crea una cuenta para un usuario y un token especificados. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. 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 sobre una concatenación del ID de organización y el ID de usuario. Este método solo lo puede llamar un
Token Admin
del código de cadenas o elOrg Admin
de 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 crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).userId
: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).tokenType: TokenType
: tipo de token, que debe serfungible
.daily_limits: DailyLimits
: objeto JSON del siguiente tipo.
En el ejemplo, el valor{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }
max_daily_amount
es la cantidad máxima de tokens que se pueden procesar diariamente y el valormax_daily_transactions
es el número máximo de transacciones que se pueden completar diariamente.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "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 Admin
del código de cadenas o elAccount Owner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "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 Admin
oAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Current Balance is: 100", "user_balance": 100 }, "encode": "JSON" } }
-
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 Admin
del código de cadenas o elAccount Owner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "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, "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, "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 Admin
del código de cadenas 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
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 enriquecida. Este método solo puede ser llamado por
Token Admin
oAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.customEndpoint
: punto final del servicio RESTful de la base de datos de historial enriquecido para recuperar el historial de transacciones.bearerToken
: token que se utilizará para llamar al punto final RESTful para asegurarse de que la solicitud está autorizada.filters: string
: parámetro opcional. Si está vacío, se devuelven todos los registros. La propiedadPageSize
determina el número de registros que se devolverán. SiPageSize
es 0, el tamaño de página por defecto es 20. La propiedadBookmark
determina el índice inicial de los registros que se devolverán. Las propiedadesStartTime
yEndTime
se deben especificar en formato RFC-3339.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
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 se queman los tokens. Este método solo lo puede llamar un
Token Admin
del código de cadenas o unOrg Admin
de la organización especificada. /getNetCBDCTokens?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Net supply of token for Token Id: USD is 878 tokens.", "quantity": 878 }, "encode": "JSON" } }
-
getOnHoldIds
- Nombre del método original:
getOnHoldIds
- Este método GET devuelve una lista de todos los ID de retención para un usuario y token especificados. Este método solo puede ser llamado por
Token Admin
,Org Admin
oAccountOwner
de la cuenta. /getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315", "holding_ids": [ "ohold~cbdc~USD~8e3147", "ohold~cbdc~USD~8e315" ] }, "encode": "JSON" } }
-
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 puede ser llamado por
Token Admin
oOrg Admin
. - Consulta:
/getTotalMintedTokens?tokenId={{bc-token-id}}
- Parámetros:
tokenId: string
: ID del token.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 910 tokens.", "quantity": 910 }, "encode": "JSON" } }
-
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 Auditor
oOrg Auditor
. - Consulta:
/getUserByAccountId?accountId=account_id value
- Parámetros:
accountId: string
: ID de la cuenta.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "user_id": "admin_user_cb", "org_id": "CB" }, "encode": "JSON" } }
-
getUsersByRole
- Nombre del método original:
getUsersByRole
- Este método devuelve una lista de todos los usuarios para un rol y token especificados. Este método solo puede ser llamado por
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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "token_id": "USD", "user_id": "creator_user_cb", "org_id": "CB" }, { "token_id": "USD", "user_id": "cb4", "org_id": "CB" } ] }, "encode": "JSON" } }
-
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 notarial, que es responsable de completar o liberar la retención. Cuando se crea la retención, el saldo de token especificado del pagador se retiene. Un saldo retenido no se puede transferir hasta que la retención se haya completado o liberado. El emisor de llamada de este método debe tener una cuenta ya creada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.operationId: string
: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.toOrgId: string
: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.toUserId: string
: nombre de usuario o ID de correo electrónico del destinatario.notaryOrgId: string
: ID del proveedor de servicios de membresía (MSP) del notario en la organización actual.notaryUserId: string
: nombre de usuario o ID de correo electrónico del notario.quantity: number
: número de tokens que se van a retener.timeToExpiration
: hora a la que caduca la retención. Especifique 0 para una retención permanente. De lo contrario, utilice el formato RFC-3339. Por ejemplo, 2021-06-02T12:46:06Z.infoDetails: JSON
: descripción y categoría, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062", "payload": { "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 211 } }
-
init
- Nombre del método original:
init
- Este método se llama cuando se despliega el código de cadenas. La información del usuario se guarda como
Token Admin
del código de cadenas. - Carga Útil:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" }
- Parámetros:
adminList array
: matriz de información{user_id, org_id}
que especifica la lista de administradores de token. La matrizadminList
es un parámetro obligatorio.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
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
Token Admin
del código de cadenas. - 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:
- Una representación JSON del activo de token creado correctamente.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8", "payload": { "assetType": "otoken", "events": false, "token_id": "t1", "token_name": "cbdc", "token_desc": "token_desc value", "token_standard": "ttf+", "token_type": "fungible", "token_unit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "holdable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner", "notary_role_name": "notary", "mint_approver_role_name": "notary", "burn_approver_role_name": "notary" }, "mintable": { "max_mint_quantity": 1000, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } }
-
getAccountHistory
- Nombre del método original:
getAccountHistory
- Este método GET devuelve los detalles del historial de cuentas de un usuario y un token especificados.
- Consulta:
/getAccountHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId":"2gsdh17fff222467e5667be042e33ce18e804b3e065cca15de306f837e416d7c3e", "timeStamp":1629718288, "value":{ "assetType":"oaccount", "account_id":"oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f", "user_id":"user1", "org_id":"Org1MSP", "token_id":"digiCurr101", "token_name":"digicur", "balance":100, "onhold_balance":0, "bapAccountVersion": 1 }, { "trxId":"9fd07fff222467e5667be042e33ce18e804b3e065cca15de306f837e416d7c3e", "timeStamp":1629718288, "value":{ "assetType":"oaccount", "account_id":"oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f", "user_id":"user1", "org_id":"Org1MSP", "token_id":"digiCurr101", "token_name":"digicur", "balance":0, "onhold_balance":0, "bapAccountVersion": 0 } } ], "encode": "JSON" } }
-
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 acuñació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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "payload": { "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 205 } }
-
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 peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380", "payload": { "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 214 } }
-
removeTokenAdmin
- Nombre del método original:
removeTokenAdmin
- Este método POST elimina un usuario como
Token Admin
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. Un administrador no puede eliminarse a sí mismo. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
org_id: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739", "payload": { "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 218 } }
-
removeTokenAuditor
- Nombre del método original:
removeTokenAuditor
- Este método POST elimina un usuario como
Token Auditor
del código de cadenas. Este método solo puede ser llamado porToken Admin
del código de cadenas. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
org_id: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b", "payload": { "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 219 } }
-
removeOrgAdmin
- Nombre del método original:
removeOrgAdmin
- Este método POST elimina un usuario como
Org Admin
del código de cadenas. Este método sólo puede ser llamado porToken Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
org_id: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597", "payload": { "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 220 } }
-
removeOrgAuditor
- Nombre del método original:
removeOrgAuditor
- Este método POST elimina un usuario como
Org Auditor
del código de cadenas. Este método sólo puede ser llamado porToken Admin
oOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parámetros:
org_id: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306", "payload": { "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 221 } }
-
removeRole
- Nombre del método original:
removeRole
- Este método elimina un rol de un usuario especificado. Este método solo lo puede llamar un
Token Admin
del código de cadenas o unOrg Admin
de la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.role: string
: nombre del rol que se va a eliminar del usuario especificado. Los comportamientosmintable
yburnable
corresponden a las propiedadesminter_role_name
yburner_role_name
del archivo de especificación.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 va a acuñar.operationId: string
: ID de operación único que representa la solicitud de moneda.notaryOrgId: string
: ID del proveedor de servicios de membresía (MSP) del notario que procesará la solicitud.notaryUserId: string
: nombre de usuario o ID de correo electrónico del notario que procesará la solicitud.quantity: number
: cantidad de tokens que acuñar.timeToExpiration
: tiempo después del cual caduca la solicitud de acuñación y ya no es válida.infoDetails: JSON
: objeto que especifica la categoría (category
) y la descripción (description
) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }
sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "payload": { "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 202 } }
-
burnTokens
- Nombre del método original:
burnTokens
- Este método POST desactiva o graba tokens de la cuenta del emisor de llamada de transacción. El emisor de llamada de 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
decimal
del comportamientodivisible
en el archivo de especificación. Este método puede ser llamado porAccountOwner
de 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 con la cantidad de tokens quemados y el ID de cuenta.
- Ejemplo de Valor de Devolución:
{ "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
maxDailyAmount
en los detalles de cuenta para el importe especificado. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.tokenId: string
: ID del token.maxDailyAmount: number
: valor de importe máximo diario para la cuenta especificada, que define el importe máximo que se puede procesar diariamente.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 222 } }
-
setMaxDailyTransactionCount
- Nombre del método original:
setMaxDailyTransactionCount
- Este método POST se utiliza para definir el parámetro
maxDailyTransactions
en los detalles de cuenta para el importe especificado. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} }
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.tokenId: string
: ID del token.maxDailyTransactions: number
: valor de importe máximo diario para la cuenta especificada, que define el número máximo de transacciones permitidas por día.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "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
accountStatus
en el libro mayor. Este método sólo puede ser llamado por unToken Admin
del código de cadenas o por unOrg Admin
de la organización especificada. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 195 } }
-
transferTokens
- Nombre del método original:
transferTokens
- Este método transfiere tokens del emisor de llamada a una cuenta especificada. El emisor de la llamada del método debe tener una cuenta. La cantidad debe estar dentro de los valores decimales especificados por el parámetro
decimal
del comportamientodivisible
en el archivo de especificación. - Carga Útil:
{ "tokenId": "{{bc-token-id}}", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parámetros:
tokenId: string
: ID del token.toOrgId: string
: ID del proveedor de servicios de membresía (MSP) del receptor (beneficiario) de la organización actual.toUserId: string
: nombre de usuario o ID de correo electrónico del destinatario.quantity: number
: número de tokens que transferir.infoDetails: JSON
: objeto que especifica la categoría (category
) y la descripción (description
) de la solicitud, como se muestra en el siguiente ejemplo.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7", "payload": { "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 224 } }
-
initializeExchangePoolUser
- Nombre del método original:
initializeExchangePoolUser
- Este método inicializa el usuario del pool de intercambio, que es una actividad única. 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.sameOrgEndorser: boolean
: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 pool de intercambio para una matriz determinada de ID de token. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - 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 de Devolución:
{ "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 del token se puede especificar hasta ocho decimales. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Carga Útil:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 10, "sameOrgEndorser": true }
- Parámetros:
fromTokenId: string
: ID del token del que se va a convertir.toTokenId: string
: ID del token al que se va a convertir.tokenConversionRate: number
: ratio al que se convierte el tokenfromTokenId
en 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 de Devolución:
{ "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 del token se puede especificar hasta ocho decimales. Este método solo puede ser llamado por
Token Admin
del código de cadenas. - Carga Útil:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 20, "sameOrgEndorser": true }
- Parámetros:
fromTokenId: string
: ID del token del que se va a convertir.toTokenId: string
: ID del token al que se va a convertir.tokenConversionRate: number
: ratio al que se convierte el tokenfromTokenId
en 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 de Devolución:
{ "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 va a acuñar.tokenQuantity: number
: número total de tokens que acuñar.percentageTokenToExchangePool: number
: porcentaje de tokens acuñados para transferir a la cuenta de token de grupo 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 de Devolución:
{ "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_id
yto_user_id
. Este método lo puede llamar elToken Admin
del código de cadenas y cualquier propietario de cuenta de token. Un usuario de grupo 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 del que se va a convertir.toTokenId: string
: ID del token al que se va a convertir.toOrgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual para 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 para transferir.endorsers: string[]
: matriz de los peers (por ejemplo,peer1
,peer2
) que deben avalar la transacción.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 Admin
oOrg Auditor
. - Consulta:
/getConversionRate?fromTokenId=from_token_id value&toTokenId=to_token_id value
- Parámetros:
fromTokenId: string
: ID del token del que se va a convertir.toTokenId: string
: ID del token al que se va a convertir.
- Ejemplo de Valor de Devolución:
{ "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 lo pueden llamar
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
o 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~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" } }
-
getConversionRateHistory
- Nombre del método original:
getConversionRate
- Este método devuelve el historial de ratio de conversión de tokens para un par de tokens. Este método lo pueden llamar
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
y cualquier propietario de cuenta de token. /getConversionRateHistory?fromTokenId=from_token_id value&toTokenId=to_token_id value
- Parámetros:
fromTokenId: string
: ID del token del que se va a convertir, con el fin de calcular la tasa de conversión.toTokenId: string
: ID del token al que se va a convertir, con el fin de calcular la tasa de conversión.
- Devuelve:
- Si se realiza correctamente, un objeto JSON con detalles del historial de tipos de cambio.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521", "timeStamp": "2022-11-30T10:23:38.000Z", "value": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 } }, { "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c", "timeStamp": "2022-11-30T10:13:18.000Z", "value": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 10 } } ], "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
Token Admin
oToken Auditor
del código de cadenas. - Consulta:
/getExchangePoolUser
- Parámetros:
- ninguno
- Ejemplo de Valor de Devolución:
{ "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 retenido actual para una cuenta y un token especificados. Este método solo puede ser llamado por
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
oAccountOwner
de 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg":"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 Auditor
o 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 en la organización actual.userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Ejemplo de Valor de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "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
Token Admin
del código de cadenas. - 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 de Devolución:
{ "returnCode": "Success", "error": "", "result": { "payload": { "accounts":["oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f"] }, "encode": "JSON" } }