Venta al por mayor CBDC envoltorio API paquete

Oracle Blockchain Platform Digital Assets Edition incluye un paquete de API de envoltorio que amplía la API de REST para admitir operaciones específicas de CBDC mayorista.

El paquete API wrapper utiliza el servicio API Gateway y OCI Functions, que se crean mediante una pila de Resource Manager en Oracle Cloud Infrastructure (OCI), para desplegar rutas de API diseñadas específicamente para la aplicación CBDC mayorista. El paquete de API de envoltorio CBDC mayorista se puede descargar desde la consola de Oracle Blockchain Platform e incluye los siguientes componentes.
  • WholesaleCBDCWrapperAPI.zip, un archivo de almacenamiento que contiene el paquete de API de envoltorio, incluidos los scripts de Terraform necesarios para el despliegue. Puede desplegar este archivo en una pila de Resource Manager en OCI para crear los recursos de Oracle necesarios para las API de Wrapper.
  • WholesaleCBDC_WrapperAPI.postman_collection.json, una recopilación de Postman que permite probar las API de envoltorio desplegadas. La recopilación incluye solicitudes preconfiguradas con puntos finales y cargas útiles que corresponden a las API definidas en el paquete de API de envoltorio.

API de envoltorio

activateCBDCAccount
Nombre del método original: activateAccount
Este método POST activa una cuenta de token. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada. No se pueden activar las cuentas suprimidas.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Devuelve:
  • Una representación JSON del objeto de estado de cuenta para la cuenta de token especificada.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "active"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 194
    }
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
addCBAdmin
Nombre del método original: addTokenAdmin
Este método POST agrega un usuario como Token Admin del código de cadena de token. El método solo se puede llamar mediante Token Admin del código de cadenas de token. La primera llamada es del administrador que instancia el código de cadenas.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed",
        "payload": {
            "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 193
    }
}
addCBAuditor
Nombre del método original: addTokenAuditor
Este método POST agrega auditores de token al código de cadena de token. Este método solo puede ser llamado por Token Admin del código de cadenas.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0",
        "payload": {
            "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 196
    }
}
addFIAdmin
Nombre del método original: addOrgAdmin
Este método agrega administradores de organización al código de cadena de token. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:

{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a",
        "payload": {
            "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 197
    }
}
addFIAuditor
Nombre del método original: addOrgAuditor
Este método agrega auditores de organización al código de cadena de token. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03",
        "payload": {
            "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 198
    }
}
addRole
Nombre del método original: addRole
Este método agrega el rol al usuario y al token especificados. Los ID de cuenta se forman mediante la creación de un hash SHA-256 del ID de token concatenado, el ID de organización y el ID de usuario. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary)",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • role: string: nombre del rol que se va a agregar al usuario especificado.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c",
        "payload": {
            "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 201
    }
}
approveCBDCCreation
Nombre del método original: approveMint
Los notarios pueden llamar a este método POST para aprobar una solicitud de moneda.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID de operación único de la solicitud de moneda que se va a aprobar.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
        "payload": {
            "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 204
    }
}
approveCBDCRetirement
Nombre del método original: approveBurn
Los notarios pueden llamar a este método POST para aprobar una solicitud de quemadura.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID de operación único de la solicitud de moneda que se va a aprobar.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8252371040e41753fd843bd086692f4e1ee7d89ffa3a50bfa121c5f1565f922f",
        "payload": {
            "msg": "Successfully burned 1 tokens from account id: oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB, User-Id: retirer_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 209
    }
}
approveHoldCBDCTokens
Nombre del método original: executeHoldTokens
Los notarios llaman a este método para aprobar una retención de tokens, lo que dispara la transferencia de los tokens del pagador al beneficiario en este escenario de negocio. La cantidad de tokens retenidos anteriormente por el propietario del token ahora se transfiere al destinatario. Si el valor quantity es menor que el valor de retención real, el importe restante está disponible de nuevo para el propietario del token. Si se especifica el comportamiento roles en la sección behaviors del modelo de token y se define el valor notary_role_name, la cuenta de emisor de llamada debe tener el rol de notario. De lo contrario, cualquier persona que llame con una cuenta puede funcionar como notario.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "quantity": 1,
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID de operación único de la solicitud de moneda que se va a aprobar.
  • quantity: number: número de tokens retenidos para transferir.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a",
        "payload": {
            "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 213
    }
}
associateTokenToAccount
Nombre del método original: associateTokenToAccount
Este método POST asocia un ID de cuenta especificado a un token especificado. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "accountId": "account_id value",
    "tokenId": "{{bc-token-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • accountId: string: ID de la cuenta.
  • tokenId: string: ID del token.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090",
            "user_id": "cb12",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-11T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 216
    }
}
createAccount
Nombre del método original: createAccount
Este método crea una cuenta para un usuario y un token especificados. Se debe crear una cuenta para cualquier usuario que tenga tokens en cualquier momento. Las cuentas realizan un seguimiento de los saldos, los saldos retenidos y el historial de transacciones. Un ID de cuenta es un juego alfanumérico de caracteres, con el prefijo oaccount~<token asset name>~ y seguido de un hash del nombre de usuario o ID de correo electrónico (userId) del propietario de la instancia o del usuario que se ha conectado a la instancia, el ID de proveedor de servicios de miembros (orgId) del usuario en la organización de red actual. Este método sólo puede ser llamado por un Token Admin del código de cadenas o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenType": "fungible",
    "applicationGroups": "[\"application_groups value\"]",
    "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).
  • userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).
  • tokenType: TokenType: tipo de token, que debe ser fungible.
  • applicationGroups: string[]: lista de grupos de aplicaciones a los que pertenece el ID de usuario, que definen las asociaciones del usuario en la aplicación CBDC.
  • dailyLimits: JSON object: un objeto JSON del siguiente tipo.
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    En el ejemplo, el valor max_daily_amount es la cantidad máxima de tokens que se pueden procesar diariamente y el valor max_daily_transactions es el número máximo de transacciones que se pueden completar diariamente.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
getAllActiveCBDCAccounts
Nombre del método original: getAllActiveAccounts
Este método GET devuelve todas las cuentas activas asociadas con el ID de token especificado.
Consulta:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Devuelve:
  • Cuando se realiza correctamente, un mensaje que incluye los detalles del usuario. La salida varía según el rol del usuario, como se muestra en los siguientes ejemplos.
Ejemplo de valor devuelto (Administrador de tokens, Auditor de tokens):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "non_account_role_name": [
                    "token_admin"
                ],
                "role_name": null,
                "valueJson": {
                    "bapAccountVersion": 0,
                    "assetType": "oaccount",
                    "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                    "user_id": "admin_user_cb",
                    "org_id": "CB",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 0,
                    "onhold_balance": 0,
                    "application_groups": [
                        "CBDC_ADMINS"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
Ejemplo de Valor de Devolución (Administrador de Organización, Auditor de Organización):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
Ejemplo de valor devuelto (todos los demás usuarios):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
              "non_account_role_name": [
                  "token_admin"
              ],
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                  "org_id": "CB",
                  "user_id": "admin_user_cb",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
getAllSuspendedCBDCAccounts
Nombre del método original: getAllSuspendedAccounts
Este método GET devuelve todas las cuentas suspendidas asociadas con el ID de token especificado.
Consulta:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Devuelve:
  • Cuando se realiza correctamente, un mensaje que incluye los detalles del usuario. La salida varía según el rol del usuario, como se muestra en los siguientes ejemplos.
Ejemplo de valor devuelto (Administrador de tokens, Auditor de tokens):
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                "non_account_role_name": null,
                "role_name": null,
                "valueJson": {
                    "assetType": "oaccount",
                    "bapAccountVersion": 1,
                    "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                    "user_id": "user1_fi1",
                    "org_id": "FI1",
                    "token_type": "fungible",
                    "token_id": "USD",
                    "token_name": "cbdc",
                    "balance": 5,
                    "onhold_balance": 0,
                    "application_groups": [
                        "FI_CBDC_USERS"
                    ],
                    "max_daily_amount": 10000,
                    "daily_amount": 0,
                    "max_daily_transactions": 1000,
                    "daily_transactions": 0,
                    "current_date": "2024-11-20T00:00:00.000Z"
                }
            }
        ],
        "encode": "JSON"
    }
}
Ejemplo de Valor de Devolución (Administrador de Organización, Auditor de Organización):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD",
                  "max_daily_amount": 10000,
                  "max_daily_transactions": 1000
              }
          }
      ],
      "encode": "JSON"
  }
}
Ejemplo de valor devuelto (todos los demás usuarios):
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
              "non_account_role_name": null,
              "role_name": null,
              "valueJson": {
                  "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
                  "org_id": "FI1",
                  "user_id": "user1_fi1",
                  "token_id": "USD"
              }
          }
      ],
      "encode": "JSON"
  }
}
getApproverActionHistory
Nombre del método original: getActionHistory
This GET method retrieves the history of approvals or rejections made by the caller for mint, burn, and transfer (issuance) operations, including details of the organization, and user IDs of accounts involved (sender, recipient, and notary). This method can be called only by a Token Admin, Token Auditor, Org Admin, Org Auditor or the notary.
Consulta:
/getApproverActionHistory?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~eaf6",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:22.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 3,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          },
          {
              "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
              "from_org_id": "CB",
              "from_user_id": "retirer_user_cb",
              "holding_id": "ohold~cbdc~USD~0031",
              "holding_status": "REJECT_BURN",
              "last_updated_time": "2024-11-26T21:43:15.000Z",
              "notary_account_id": null,
              "notary_org_id": null,
              "notary_user_id": null,
              "operation_id": null,
              "quantity": 2,
              "timetoexpiration": null,
              "to_account_id": "",
              "to_org_id": null,
              "to_user_id": null,
              "token_id": "USD",
              "token_name": null
          }
      ],
      "encode": "JSON"
  }
}
getCBDCAccount
Nombre del método original: getAccount
Este método GET devuelve los detalles de cuenta de un usuario y token especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadenas, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
Consulta:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "status": "active",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON"
    }
}
getCBDCAccountBalance
Nombre del método original: getAccountBalance
Este método GET devuelve el saldo actual de una cuenta y un token especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadenas, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Current Balance is: 100",
            "user_balance": 100
        },
        "encode": "JSON"
    }
}
getCBDCAccountsByUser
Nombre del método original: getAccountsByUser
Este método devuelve una lista de todos los ID de cuenta para un ID de organización y un ID de usuario especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadenas, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • orgId string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "",
                "token_name": "",
                "balance": 0,
                "onhold_balance": 0,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "USD",
                "token_name": "cbdc",
                "balance": 0,
                "onhold_balance": 0,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 1000,
                "daily_transactions": 0,
                "current_date": "2024-11-20T00:00:00.000Z"
            },
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "",
                "token_name": "",
                "balance": 0,
                "onhold_balance": 0,
                "application_groups": [
                    "CBDC_ADMINS"
                ],
                "max_daily_amount": 10000,
                "daily_amount": 0,
                "max_daily_transactions": 100,
                "daily_transactions": 0,
                "current_date": "2024-12-09T00:00:00.000Z"
            }
        ],
        "encode": "JSON"
    }
}
getCBDCAccountTransactionHistory
Nombre del método original: getAccountTransactionHistory
Este método devuelve una matriz de detalles de historial de transacciones de cuenta para un usuario y un token especificados. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadenas, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getAccountTransactionHistoryWithFilters
Nombre del método original: getAccountTransactionHistoryWithFiltersFromRichHistDB
Este método devuelve los detalles del historial de transacciones de la cuenta de la base de datos de historial enriquecida. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadenas, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getCBDCAccountTransactionHistoryWithFilters?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • customEndpoint: punto final del servicio RESTful de la base de datos de historial enriquecido para recuperar el historial de transacciones.
  • bearerToken: token que se utilizará para llamar al punto final RESTful para asegurarse de que la solicitud está autorizada.
  • filters: JSON object: parámetro opcional. Si está vacío, se devuelven todos los registros. La propiedad pageSize determina el número de registros que se devolverán. Si pageSize es 0, el tamaño de página por defecto es 20. La propiedad bookmark determina el índice inicial de los registros que se devolverán. Las propiedades startTime y endTime se deben especificar en formato RFC-3339.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:37:28.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REJECT_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:32.000Z",
                "balance": 550,
                "onhold_balance": 10,
                "token_id": "USD",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "APPROVE_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:36:18.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            },
            {
                "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
                "transacted_amount": 10,
                "timestamp": "2024-12-11T13:35:46.000Z",
                "balance": 540,
                "onhold_balance": 10,
                "token_id": "USD",
                "category": "category value",
                "description": "description value",
                "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                "transaction_type": "REQUEST_MINT",
                "transacted_org_id": "CB",
                "transacted_user_id'": "creator_user_cb"
            }
        ],
        "encode": "JSON"
    }
}
getCBDCRetiredQuantity
Nombre del método original: getBurnQuantity
This GET method returns the total quantity of burned tokens for a specified organization. This method can be called only by a Token Admin, Token Auditor, or a user with the burner role.
/getCBDCRetiredQuantity?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getNetCBDCTokens
Nombre del método original: getNetTokens
Este método GET devuelve el número neto total de tokens disponibles en el sistema para un token especificado. El total neto de tokens es la cantidad de tokens que quedan después de que se queman los tokens. Este método solo puede ser llamado por Token Admin o Token Auditor del código de cadenas, o por Org Admin o Org Auditor.
/getNetCBDCTokens?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Net supply of token for Token Id: USD is 878 tokens.",
            "quantity": 878
        },
        "encode": "JSON"
    }
}
getOnHoldIds
Nombre del método original: getOnHoldIds
Este método GET devuelve una lista de todos los ID de tenencia de una cuenta especificada. Este método solo puede ser llamado por un Token Admin o Token Auditor del código de cadenas, un Org Admin o Org Auditor de la organización especificada o el AccountOwner de la cuenta.
/getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315",
            "holding_ids": [
                "ohold~cbdc~USD~8e3147",
                "ohold~cbdc~USD~8e315"
            ]
        },
        "encode": "JSON"
    }
}
getPendingCBDCIssuance
Nombre del método original: getPendingIssuance
Este método recupera todas las transacciones de emisión (transferencia) pendientes en las que el emisor de llamada está asignado como aprobador, incluidos los detalles de la organización y los ID de usuario de las cuentas implicadas (emisor, destinatario y notario). Este método solo se puede llamar mediante Token Admin o Token Auditor del código de cadenas, Org Admin o Org Auditor, o Notary.
/getPendingCBDCIssuance?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
              "from_org_id": "CB",
              "from_user_id": "creator_user_cb",
              "holding_id": "ohold~cbdc~USD~8e314",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e314",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          },
          {
              "asset_type": "ONHOLD",
              "category": "category value",
              "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
              "from_org_id": "CB",
              "from_user_id": "issuer_user_cb",
              "holding_id": "ohold~cbdc~USD~8e315",
              "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
              "notary_org_id": "CB",
              "notary_user_id": "manager_user_cb",
              "operation_id": "8e315",
              "quantity": 10,
              "timetoexpiration": "0",
              "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142",
              "to_org_id": "FI1",
              "to_user_id": "officer_user1_fi1",
              "token_id": "USD",
              "token_name": "cbdc"
          }
      ],
      "encode": "JSON"
  }
}
getPendingCBDCRequest
Nombre del método original: getPendingRequest
Este método recupera todas las solicitudes pendientes de un tipo especificado en las que el emisor de llamada está asignado como aprobador. Este método solo puede ser llamado por Token Admin o Token Auditor del código de cadenas o por Notary.
/getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
Parámetros:
  • tokenId: string: ID del token.
  • requestType: string: tipo de transacción. Por ejemplo, mint o burn.
Ejemplo de Valor de Devolución:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "valueJson": {
                  "assetType": "ohold",
                  "holding_id": "ohold~cbdc~USD~op123",
                  "operation_id": "op123",
                  "token_id": "USD",
                  "token_name": "cbdc",
                  "operation_type": "mint",
                  "status": "pending",
                  "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_id": "",
                  "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
                  "quantity": 10,
                  "time_to_expiration": "0",
                  "category": "category value",
                  "description": "description value"
              }
          }
      ],
      "encode": "JSON"
  }
}
getTotalBalanceByCallerOrgId
Nombre del método original: getTotalBalanceByCallerOrgId
Este método recupera el saldo total de la organización del emisor de llamada. Este método solo puede ser llamado por un Token Admin, Token Auditor, Org Admin, Org Auditor o cualquier propietario de cuenta.
/getTotalCBDCBalanceByCallerOrgId
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTotalCreatedCBDCTokens
Nombre del método original: getTotalMintedTokens
Este método devuelve el número total de tokens acuñados para un token especificado. Este método solo puede ser llamado por Token Admin, Token Auditor, Org Admin o Org Auditor.
Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
Parámetros:
  • tokenId: string: ID del token.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Total minted token for Token Id: USD is 910 tokens.",
            "quantity": 910
        },
        "encode": "JSON"
    }
}
getTransactionWithBlockNumber
Nombre del método original: getTransactionWithBlockNumber
Este método GET devuelve los detalles de la transacción para el ID de transacción especificado.
Consulta:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
Parámetros:
  • tokenId: string: ID del token.
  • transactionId: string: ID de la transacción.
Ejemplo de Valor de Devolución:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "blockNo": 82,
              "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
              "metadata": null,
              "txnNo": 0,
              "value": null,
              "valueJson": {
                  "assetType": "otransaction",
                  "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b",
                  "token_id": "USD",
                  "from_account_id": "",
                  "from_account_balance": 0,
                  "from_account_onhold_balance": 0,
                  "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
                  "to_account_balance": 100,
                  "to_account_onhold_balance": 0,
                  "transaction_type": "REQUEST_MINT",
                  "amount": 200,
                  "timestamp": "2024-11-20T06:48:42.000Z",
                  "number_of_sub_transactions": 0,
                  "holding_id": "",
                  "sub_transaction": "false",
                  "description": ""
              }
          }
      ],
      "encode": "JSON"
  }
}
getUserByCBDCAccountId
Nombre del método original: getUserByAccountId
Este método devuelve los detalles de usuario (orgId, userId y tokenId) para una cuenta especificada. Este método solo lo puede llamar un Token Admin o Token Auditor del código de cadenas, o un Org Admin o Org Auditor de la organización especificada.
Consulta:
/getUserByCBDCAccountId?accountId=account_id value
Parámetros:
  • accountId: string: ID de la cuenta.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "token_id": "USD",
            "user_id": "admin_user_cb",
            "org_id": "CB"
        },
        "encode": "JSON"
    }
}
getUsersByRole
Nombre del método original: getUsersByRole
Este método GET devuelve una lista de todos los usuarios para un rol y token especificados. Este método solo puede ser llamado por Token Admin o Token Auditor del código de cadenas.
Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
Parámetros:
  • tokenId: string: ID del token.
  • role: string: nombre del rol que se va a buscar.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "users": [
                {
                    "token_id": "USD",
                    "user_id": "creator_user_cb",
                    "org_id": "CB"
                },
                {
                    "token_id": "USD",
                    "user_id": "cb4",
                    "org_id": "CB"
                }
            ]
        },
        "encode": "JSON"
    }
}
holdCBDCTokens
Nombre del método original: holdTokens
Este método crea una retención en nombre del propietario de los tokens con la cuenta to_account_id. Se especifica una cuenta notarial, que es responsable de completar o liberar la retención. Cuando se crea la retención, el saldo de token especificado del pagador se retiene. Un saldo retenido no se puede transferir hasta que la retención se haya completado o liberado. El emisor de llamada de este método debe tener una cuenta ya creada.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.
  • toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor en la organización actual.
  • toUserId: string: nombre de usuario o ID de correo electrónico del destinatario.
  • notaryOrgId: string: ID del proveedor de servicios de membresía (MSP) del notario en la organización actual.
  • notaryUserId: string: nombre de usuario o ID de correo electrónico del notario.
  • quantity: number: número de tokens que se van a retener.
  • timeToExpiration: hora a la que caduca la retención. Especifique 0 para una retención permanente. De lo contrario, utilice el formato RFC-3339. Por ejemplo, 2021-06-02T12:46:06Z.
  • infoDetails: JSON: descripción y categoría, como se muestra en el siguiente ejemplo.
    {
       "category" : "category input",
       "description" : "description input"
    }
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062",
        "payload": {
            "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 211
    }
}
init
Nombre del método original: init
Este método se llama cuando se despliega el código de cadenas. La información del usuario se guarda como Token Admin del código de cadenas.
Carga Útil:
{
    "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]"
}
Parámetros:
  • adminList array: matriz de información {user_id, org_id} que especifica la lista de administradores de token. La matriz adminList es un parámetro obligatorio.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807",
        "payload": "",
        "encode": "UTF-8",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 263
    }
}
initializeCBDCToken
Nombre del método original: initializeCBDCToken
Este método crea un token e inicializa las propiedades del token. El activo y sus propiedades se guardan en la base de datos de estado. Este método solo puede ser llamado por Token Admin del código de cadenas.
Carga Útil:
{
    "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenAsset: <Token Class>: el activo de token se transfiere como parámetro a este método. Las propiedades del activo de token se describen en el archivo de modelo.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Devuelve:
  • Una representación JSON del activo de token creado correctamente.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8",
        "payload": {
            "assetType": "otoken",
            "events": false,
            "token_id": "t1",
            "token_name": "cbdc",
            "token_desc": "token_desc value",
            "token_standard": "ttf+",
            "token_type": "fungible",
            "token_unit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "holdable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner",
                "notary_role_name": "notary",
                "mint_approver_role_name": "notary",
                "burn_approver_role_name": "notary"
            },
            "mintable": {
                "max_mint_quantity": 1000,
                "mint_approval_required": true
            },
            "burnable": {
                "burn_approval_required": true
            },
            "divisible": {
                "decimal": 2
            },
            "currency_name": "currency_name value",
            "token_to_currency_ratio": 999
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 267
    }
}
rejectCBDCCreation
Nombre del método original: rejectMint
Este método puede ser llamado por un notario de minter para rechazar una solicitud de acuñación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token para rechazar la acuñación.
  • operationId: string: ID de operación único que representa la solicitud de moneda.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22",
        "payload": {
            "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 205
    }
}
rejectCBDCRetirement
Nombre del método original: rejectBurn
Este método puede ser llamado por un notario para rechazar una solicitud de grabación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se va a rechazar para la grabación.
  • operationId: string: ID de operación único que representa la solicitud de grabación.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "474a08183986c84fe321aa925670539db3b1bc90b02fa65956ad8c771fff5bbe",
        "payload": {
            "msg": "Successfully rejected burn request with Operation Id 'burn1234' to burn 10 tokens of token id USD"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 210
    }
}
rejectHoldCBDCTokens
Nombre del método original: releaseHoldTokens
Este método POST libera una retención de tokens. La transferencia no se ha completado y todos los tokens retenidos están disponibles de nuevo para el propietario original. Este método puede ser llamado por el ID AccountOwner con el rol notary dentro del límite de tiempo especificado o por el pagador, beneficiario o notario después del límite de tiempo especificado.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • operationId: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380",
        "payload": {
            "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)."
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 214
    }
}
removeCBAdmin
Nombre del método original: removeTokenAdmin
Este método POST elimina un usuario como Token Admin del código de cadenas. Este método solo puede ser llamado por Token Admin del código de cadenas. Un administrador no puede eliminarse a sí mismo.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739",
        "payload": {
            "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 218
    }
}
removeCBAuditor
Nombre del método original: removeTokenAuditor
Este método POST elimina un usuario como Token Auditor del código de cadenas. Este método solo puede ser llamado por Token Admin del código de cadenas.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b",
        "payload": {
            "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 219
    }
}
removeFIAdmin
Nombre del método original: removeOrgAdmin
Este método POST elimina un usuario como Org Admin del código de cadenas. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597",
        "payload": {
            "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 220
    }
}
removeFIAuditor
Nombre del método original: removeOrgAuditor
Este método POST elimina un usuario como Org Auditor del código de cadenas. Este método sólo puede ser llamado por Token Admin o Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306",
        "payload": {
            "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 221
    }
}
removeRole
Nombre del método original: removeRole
Este método elimina un rol de un usuario y token especificados. Este método sólo puede ser llamado por un Token Admin del código de cadenas o por un Org 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 comportamientos mintable y burnable corresponden a las propiedades minter_role_name y burner_role_name del archivo de especificación. Del mismo modo, el rol notary corresponde a la propiedad notary_role_name del archivo de especificación.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Devuelve:
  • Si se realiza correctamente, un mensaje con los detalles de la cuenta.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12",
        "payload": {
            "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 200
    }
}
requestCBDCCreation
Nombre del método original: requestMint
Este método puede ser llamado por un minter para enviar una solicitud al notario minter para crear una cantidad especificada de tokens.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se va a acuñar.
  • operationId: string: ID de operación único que representa la solicitud de moneda.
  • notaryOrgId: string: ID del proveedor de servicios de membresía (MSP) del notario que procesará la solicitud.
  • notaryUserId: string: nombre de usuario o ID de correo electrónico del notario que procesará la solicitud.
  • quantity: number: cantidad de tokens que acuñar.
  • timeToExpiration: tiempo después del cual caduca la solicitud de acuñación y ya no es válida.
  • infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e",
        "payload": {
            "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 202
    }
}
requestCBDCRetirement
Nombre del método original: requestBurn
Este método puede ser llamado por un quemador para enviar una solicitud al notario para destruir una cantidad especificada de tokens.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "notaryOrgId": "notary_org_id value",
    "notaryUserId": "notary_user_id value",
    "quantity": 1,
    "timeToExpiration": "time_to_expiration value",
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "sameOrgEndorser": true
}
Parámetros:
  • tokenId: string: ID del token que se va a grabar.
  • operationId: string: ID de operación único que representa la solicitud de grabación.
  • notaryOrgId: string: ID del proveedor de servicios de membresía (MSP) del notario quemador que procesará la solicitud.
  • notaryUserId: string: nombre de usuario o ID de correo electrónico del notario quemador que procesará la solicitud.
  • quantity: number: cantidad de tokens que se van a grabar.
  • timeToExpiration: tiempo después del cual caduca la solicitud de grabación y ya no es válida.
  • infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean: valor booleano que indica si los endosos de transacción deben ser de la misma organización que el solicitante.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "0adb57ca9776c8760468c40465e0f0d37472f0b4b32fd02561ef28b3f7b28cf1",
        "payload": {
            "msg": "AccountId oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB , User-Id: retirer_user_cb) has successfully submitted request to burn 10 tokens"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 206
    }
}
setApplicationGroups
Nombre del método original: setApplicationGroups
Este método POST se utiliza para definir el parámetro application_groups en los detalles de cuenta para los grupos de aplicaciones especificados. Este método sólo puede ser llamado por un Token Admin del código de cadenas o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "applicationGroups": "[\"application_groups value\"]",
    "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenId: string: ID del token.
  • applicationGroups: string[]: lista de grupos de aplicaciones a los que pertenece el ID de usuario, que definen las asociaciones del usuario en la aplicación CBDC.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Devuelve:
  • En caso de éxito, un mensaje con la cantidad de tokens quemados y el ID de cuenta.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-12-09T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 188
    }
}
setMaxDailyAmount
Nombre del método original: setMaxDailyAmount
Este método POST se utiliza para definir el parámetro maxDailyAmount en los detalles de cuenta para el importe especificado. Este método sólo puede ser llamado por un Token Admin del código de cadenas o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyAmount": 1,
    "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenId: string: ID del token.
  • maxDailyAmount: number: valor de importe máximo diario para la cuenta especificada, que define el importe máximo que se puede procesar diariamente.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 222
    }
}
setMaxDailyTransactionCount
Nombre del método original: setMaxDailyTransactionCount
Este método POST se utiliza para definir el parámetro maxDailyTransactions en los detalles de cuenta para el importe especificado. Este método sólo puede ser llamado por un Token Admin del código de cadenas o por un Org Admin de la organización especificada.
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyTransactions": 1,
    "endorsers": {{endorsers}}
}
Parámetros:
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • tokenId: string: ID del token.
  • maxDailyTransactions: number: valor de importe máximo diario para la cuenta especificada, que define el número máximo de transacciones permitidas por día.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_ADMINS"
            ],
            "max_daily_amount": 10000,
            "daily_amount": 0,
            "max_daily_transactions": 1000,
            "daily_transactions": 0,
            "current_date": "2024-11-20T00:00:00.000Z"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010",
        "blockNumber": 223
    }
}
suspendCBDCAccount
Nombre del método original: suspendAccount
Este método suspende una cuenta de token fungible. Devuelve un error si no se encuentra un valor accountStatus en el libro mayor. Este método sólo puede ser llamado por un Token Admin del código de cadenas o por un Org Admin de la organización especificada.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • orgId: string: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
  • userId: string: nombre de usuario o ID de correo electrónico del usuario.
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294",
        "payload": {
            "assetType": "oaccountStatus",
            "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae",
            "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6",
            "status": "suspended"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 195
    }
}
transferCBDCTokens
Nombre del método original: transferTokens
Este método transfiere tokens del emisor de llamada a una cuenta especificada. El emisor de la llamada del método debe tener una cuenta. La cantidad debe estar dentro de los valores decimales especificados por el parámetro decimal del comportamiento divisible en el archivo de especificación.
Carga Útil:
{
    "tokenId": "{{bc-token-id}}",
    "toOrgId": "to_org_id value",
    "toUserId": "to_user_id value",
    "quantity": 1,
    "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}",
    "endorsers": {{endorsers}}
}
Parámetros:
  • tokenId: string: ID del token.
  • toOrgId: string: ID del proveedor de servicios de membresía (MSP) del receptor (beneficiario) de la organización actual.
  • toUserId: string: nombre de usuario o ID de correo electrónico del destinatario.
  • quantity: number: número de tokens que transferir.
  • infoDetails: JSON: objeto que especifica la categoría (category) y la descripción (description) de la solicitud, como se muestra en el siguiente ejemplo.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • endorsers: string[]: matriz de los peers (por ejemplo, peer1, peer2) que deben avalar la transacción.
Ejemplo de Valor de Devolución:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7",
        "payload": {
            "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024"
        },
        "encode": "JSON",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 224
    }
}

El paquete de API de envoltorio también incluye la API createCBDCAccount, que combina las API de código de cadena y las API de la consola de Oracle Blockchain Platform en un único punto final para la creación de cuentas.

createCBDCAccount
Carga Útil:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "applicationGroups": "[\"applicationGroups value\"]",
    "tokenId": "{{bc-token-id}}",
    "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor)",
    "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}"
}
Parámetros de carga útil:
  • orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que crear la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).
  • userId: nombre de usuario o ID de correo electrónico del usuario. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y caracteres especiales, como guiones bajos (_), puntos (.), signos (@) y guiones (-).
  • applicationGroups: grupos de aplicaciones a los que pertenecerá la cuenta. Por ejemplo, CBDC_ADMINS.
  • tokenId: ID del token asociado a la cuenta. El ID debe comenzar con un carácter alfanumérico y puede incluir letras, números y los caracteres especiales de subrayado (_) y guion (-). No puede superar los 16 caracteres de longitud.
  • role: el rol debe ser uno de los siguientes valores: minter, burner, notary, tokenAdmin, tokenAuditor, orgAdmin o orgAuditor.
  • dailyLimits: dos campos numéricos que definen los límites de transacción diarios: max_daily_amount y max_daily_transactions.
Ejemplo de Valor de Devolución:
"payload": {
 "msg": "Account created successfully and 'minter' role added to Account Id: oaccount~4a86f2843c2b0105c97a77202bd9aba519c81dcef27eccc1d89125ae32770700 (Org-Id: CB, User-Id: creator_user_cb)"
 "accountDetails":
      {           
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~ce5c56d2068ce31b82136c8eea110a80b9251595d361db70924c4e989032a1be",
            "user_id": "creator_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "application_groups": [
                "CBDC_CREATORS"
            ],
            "max_daily_amount": 1000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-10-06T00:00:00.000Z"
     }
 }

La API createCBDCAccount completa las siguientes operaciones en secuencia.

  1. Crea un ID de inscripción para el usuario en Oracle Blockchain Platform. El ID de inscripción que se crea es el mismo que el ID de usuario, con algunas limitaciones. El ID solo puede contener caracteres alfanuméricos, guiones (-) y caracteres de subrayado (_). Si el ID de usuario contiene otros caracteres especiales, se sustituyen por caracteres de subrayado (_). Por ejemplo, si el ID de usuario es adam.fripp@example.com, el ID de inscripción que se crea es adam_fripp_example_com. Si la inscripción ya existe para el ID de usuario especificado, no se creará otra inscripción.
  2. Crea una cuenta en el libro mayor con los detalles proporcionados en la carga útil.
  3. Asocia la nueva cuenta con el token especificado en la carga útil.
  4. Asigna el rol especificado en la carga útil al usuario.

Para garantizar la coherencia y evitar datos incompletos, si alguno de los pasos siguientes falla, se suprime el ID de inscripción creado en el primer paso.