Atacado CBDC Wrapper API Pacote

O Oracle Blockchain Platform Digital Assets Edition inclui um pacote de API wrapper que estende a API REST para oferecer suporte a operações específicas do CBDC de atacado.

O pacote de API wrapper usa o serviço API Gateway e o OCI Functions, que são criados usando uma pilha do Resource Manager na Oracle Cloud Infrastructure (OCI), para implantar rotas de API projetadas especificamente para o aplicativo CBDC de atacado. O pacote de API de wrapper CBDC de atacado pode ser baixado na console do Oracle Blockchain Platform e inclui os componentes a seguir.
  • WholesaleCBDCWrapperAPI.zip, um arquivo compactado que contém o pacote de API wrapper, incluindo os scripts Terraform necessários para implantação. Você implanta esse arquivo em uma pilha do Resource Manager no OCI para criar os recursos necessários da Oracle para as APIs do Wrapper.
  • WholesaleCBDC_WrapperAPI.postman_collection.json, uma coleção Postman que permite testar as APIs do wrapper implantadas. A coleta inclui solicitações pré-configuradas com pontos finais e payloads que correspondem às APIs definidas no pacote de API do wrapper.

APIs do Encapsulador

registerOrg
Nome do método original: registerOrg
Este método POST registra uma organização no sistema. Esse método só pode ser chamado por um administrador de token.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "orgName": "org_name value",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • orgName: string – (Opcional) O nome da organização.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "assetType": "oorgregistry",
    "org_registry_id": "orgregistry",
    "registered_orgs": [
        {
            "org_id": "Org1MSP",
            "org_name": "Organisation name"
        }
    ]
}
getAllRegisteredOrgs
Nome do método original: getAllRegisteredOrgs
Este método GET recupera detalhes de todas as organizações registradas. Esse método só pode ser chamado por um administrador de token.
Consulta:
/getAllRegisteredOrgs
Parâmetros:
  • nenhuma
Exemplo de Valor de Retorno:
[
    {
        "org_id": "Org1MSP",
        "org_name": "Organisation name"
    }
]
activateCBDCAccount
Nome do método original: activateAccount
Este método POST ativa uma conta de token. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada. Não é possível ativar contas excluídas.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Retorna:
  • Em caso de sucesso, uma representação JSON do objeto de status da conta do token especificado.
Exemplo de Valor de Retorno:
{
    "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
    }
}
addCBAdmin
Nome do método original: addTokenAdmin
Esse método POST adiciona um usuário como Token Admin do código de cadeia do token. O método só pode ser chamado por um Token Admin do chaincode do token. A primeira chamada é do administrador que instancia o chaincode.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: addTokenAuditor
Este método POST adiciona auditores de token ao chaincode de token. Esse método só pode ser chamado pelo Token Admin do chaincode.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: addOrgAdmin
Este método adiciona administradores da organização ao chaincode do token. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:

{
    "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
Nome do método original: addOrgAuditor
Este método adiciona auditores da organização ao chaincode do token. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: addRole
Este método adiciona a atribuição ao usuário e token especificados. Os IDs da conta são formados pela criação de um hash SHA-256 do ID do token concatenado, ID da organização e ID do usuário. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
Payload:
{
    "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 – O ID do token.
  • role: string – O nome da função a ser adicionada ao usuário especificado.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: approveMint
Notários podem chamar este método POST para aprovar uma solicitação de hortelã.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parâmetros:
  • tokenId: string – O ID do token.
  • operationId: string – O ID de operação exclusivo da solicitação de mint a ser aprovada.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: approveBurn
Os notários podem chamar esse método POST para aprovar uma solicitação de gravação.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parâmetros:
  • tokenId: string – O ID do token.
  • operationId: string – O ID de operação exclusivo da solicitação de mint a ser aprovada.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: executeHoldTokens
Os notários chamam esse método para aprovar uma retenção de tokens, o que aciona a transferência dos tokens do pagador para o beneficiário nesse cenário de negócios. A quantidade de tokens colocados em espera anteriormente pelo proprietário do token agora é transferida para o destinatário. Se o valor quantity for menor que o valor de retenção real, o valor restante será disponibilizado novamente para o proprietário do token. Se o comportamento roles for especificado na seção behaviors do modelo de token e o valor notary_role_name for definido, a conta do chamador deverá ter a atribuição de notário. Caso contrário, qualquer chamador com uma conta pode funcionar como um notário.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "quantity": 1,
    "endorsers": {{endorsers}}
}
Parâmetros:
  • tokenId: string – O ID do token.
  • operationId: string – O ID de operação exclusivo da solicitação de mint a ser aprovada.
  • quantity: number – O número de tokens retidos a serem transferidos.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: associateTokenToAccount
Este método POST associa um ID de conta especificado a um token especificado. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
Payload:
{
    "accountId": "account_id value",
    "tokenId": "{{bc-token-id}}",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • accountId: string – O ID da conta.
  • tokenId: string – O ID do token.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090",
            "user_id": "cb12",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_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
Nome do método original: createAccount
Este método cria uma conta para um usuário e token especificados. É necessário criar uma conta para qualquer usuário que tenha tokens a qualquer momento. As contas rastreiam saldos, saldos em retenção e histórico de transações. Um ID de conta é um conjunto alfanumérico de caracteres, prefixado com oaccount~<token asset name>~ e seguido por um hash do nome do usuário ou do ID de e-mail (userId) do proprietário da instância ou do usuário que está conectado à instância, o ID do provedor de serviços de associação (orgId) do usuário na organização de rede atual. Esse método só pode ser chamado por uma Token Admin do chaincode ou por uma Org Admin da organização especificada.
Payload:
{
    "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 – O ID do provedor de serviços de associação (MSP) do usuário para o qual a conta será criada. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).
  • userId – O nome de usuário ou ID de e-mail do usuário. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).
  • tokenType: TokenType – O tipo de token, que deve ser fungible.
  • applicationGroups: string[] – Uma lista de grupos de aplicativos aos quais o ID do usuário pertence, que definem as associações do usuário no aplicativo CBDC.
  • dailyLimits: JSON object – Um objeto JSON do tipo a seguir.
    {
         "max_daily_amount": 100000
         "max_daily_transactions": 10000
     }
    No exemplo, o valor max_daily_amount é a quantidade máxima de tokens que podem ser transacionados diariamente e o valor max_daily_transactions é o número máximo de transações que podem ser concluídas diariamente.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_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
Nome do método original: getAllActiveAccounts
Este método GET retorna todas as contas ativas associadas ao ID do token especificado.
Consulta:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Retorna:
  • Em caso de sucesso, uma mensagem que inclui detalhes do usuário. A saída varia de acordo com a função do usuário, conforme mostrado nos exemplos a seguir.
Exemplo de Valor de Retorno (Administrador de Token, Auditor de Token):
{
    "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,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "System_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"
    }
}
Exemplo de valor de retorno (Administrador da organização, Auditor da organização):
{
  "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"
  }
}
Exemplo de Valor de Retorno (todos os outros usuários):
{
  "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
Nome do método original: getAllSuspendedAccounts
Este método GET retorna todas as contas suspensas associadas ao ID do token especificado.
Consulta:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Retorna:
  • Em caso de sucesso, uma mensagem que inclui detalhes do usuário. A saída varia de acordo com a função do usuário, conforme mostrado nos exemplos a seguir.
Exemplo de Valor de Retorno (Administrador de Token, Auditor de Token):
{
    "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,
                    "onhold_burn_balance": 0,
                    "application_groups": [
                        "Org_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"
    }
}
Exemplo de valor de retorno (Administrador da organização, Auditor da organização):
{
  "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"
  }
}
Exemplo de Valor de Retorno (todos os outros usuários):
{
  "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
Nome do método original: getActionHistory
Este método GET recupera o histórico de aprovações ou rejeições feitas pelo chamador para operações de hortelã, queima e transferência (emissão), incluindo detalhes da organização e IDs de usuário das contas envolvidas (remetente, destinatário e notário). Esse método só pode ser chamado por um Token Admin, Token Auditor, Org Admin, Org Auditor ou pelo notário.
Consulta:
/getApproverActionHistory?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de Valor de Retorno:
{
  "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
Nome do método original: getAccount
Este método GET retorna detalhes da conta para um usuário e token especificados. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor da organização especificada ou a AccountOwner da conta.
Consulta:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "status": "active",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_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
Nome do método original: getAccountBalance
Este método GET retorna o saldo atual de uma conta e token especificados. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor da organização especificada ou a AccountOwner da conta.
/getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Current Balance is: 100",
            "user_balance": 100
        },
        "encode": "JSON"
    }
}
getCBDCAccountsByUser
Nome do método original: getAccountsByUser
Este método retorna uma lista de todos os IDs de conta para um ID organização e ID usuário especificados. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor da organização especificada ou a AccountOwner da conta.
/getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • orgId string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId string – O nome de usuário ou ID de e-mail do usuário.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "bapAccountVersion": 0,
                "assetType": "oaccount",
                "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
                "user_id": "admin_user_cb",
                "org_id": "CB",
                "token_type": "fungible",
                "token_id": "",
                "token_name": "",
                "balance": 0,
                "onhold_balance": 0,
                "onhold_burn_balance": 0,
                "application_groups": [
                    "System_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,
                "onhold_burn_balance": 0,
                "application_groups": [
                    "System_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,
                "onhold_burn_balance": 0,
                "application_groups": [
                    "System_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
Nome do método original: getAccountTransactionHistory
Este método retorna um array de detalhes do histórico de transações da conta para um usuário e token especificados. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor da organização especificada ou a AccountOwner da conta.
/getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: getAccountTransactionHistoryWithFiltersFromRichHistDB
Este método retorna os detalhes do histórico de transações da conta do banco de dados do histórico avançado. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor da organização especificada ou a AccountOwner da conta.
/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 – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • customEndpoint – O ponto final do serviço RESTful do banco de dados de histórico avançado do qual extrair o histórico de transações.
  • bearerToken – O token a ser usado para chamar o ponto final RESTful para garantir que a solicitação seja autorizada.
  • filters: JSON object – Um parâmetro opcional. Se estiver vazio, todos os registros serão retornados. A propriedade pageSize determina o número de registros a serem retornados. Se pageSize for 0, o tamanho padrão da página será 20. A propriedade bookmark determina o índice inicial dos registros a serem retornados. As propriedades startTime e endTime devem ser especificadas no formato RFC-3339.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: getBurnQuantity
Este método GET retorna a quantidade total de tokens gravados para uma organização especificada. Esse método só pode ser chamado por um Token Admin, Token Auditor ou por um usuário com a função de gravador.
/getCBDCRetiredQuantity?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de Valor de Retorno:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": {
          "burnt_quantity": 31
      },
      "encode": "JSON"
  }
}
getNetCBDCTokens
Nome do método original: getNetTokens
Este método GET retorna o número líquido total de tokens disponíveis no sistema para um token especificado. O total de tokens líquidos é a quantidade de tokens restantes após os tokens serem gravados. Esse método só pode ser chamado por um Token Admin ou Token Auditor do chaincode, ou um Org Admin ou Org Auditor.
/getNetCBDCTokens?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Net supply of token for Token Id: USD is 878 tokens.",
            "quantity": 878
        },
        "encode": "JSON"
    }
}
getOnHoldIds
Nome do método original: getOnHoldIds
Este método GET retorna uma lista de todos os IDs de retenção de uma conta especificada. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor da organização especificada ou a AccountOwner da conta.
/getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: getPendingIssuance
Esse método recupera todas as transações de emissão (transferência) pendentes em que o chamador é atribuído como aprovador, incluindo detalhes da organização, e IDs de usuário das contas envolvidas (remetente, destinatário e notário). Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode, uma Org Admin ou Org Auditor ou a Notary.
/getPendingCBDCIssuance?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de Valor de Retorno:
{
  "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
Nome do método original: getPendingRequest
Este método recupera todas as solicitações pendentes de um tipo especificado em que o chamador é atribuído como um aprovador. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode ou pela Notary.
/getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
Parâmetros:
  • tokenId: string – O ID do token.
  • requestType: string – O tipo de transação. Por exemplo, mint ou burn.
Exemplo de Valor de Retorno:
{
  "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
Nome do método original: getTotalBalanceByCallerOrgId
Este método recupera o saldo total da organização do chamador. Esse método só pode ser chamado por um Token Admin, Token Auditor, Org Admin, Org Auditor ou qualquer proprietário de conta.
/getTotalCBDCBalanceByCallerOrgId
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de Valor de Retorno:
{
  "returnCode": "Success",
  "error": "",
  "result": {
      "payload": [
          {
              "totalBalance": 704
          }
      ],
      "encode": "JSON"
  }
}
getTotalCreatedCBDCTokens
Nome do método original: getTotalMintedTokens
Este método retorna o número total de tokens cunhados para um token especificado. Esse método só pode ser chamado por uma Token Admin, Token Auditor, Org Admin ou Org Auditor.
Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "msg": "Total minted token for Token Id: USD is 910 tokens.",
            "quantity": 910
        },
        "encode": "JSON"
    }
}
getTransactionWithBlockNumber
Nome do método original: getTransactionWithBlockNumber
Este método GET retorna os detalhes da transação para o ID da transação especificado.
Consulta:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
Parâmetros:
  • tokenId: string – O ID do token.
  • transactionId: string – O ID da transação.
Exemplo de Valor de Retorno:
{
  "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
Nome do método original: getUserByAccountId
Esse método retorna detalhes do usuário (orgId, userId e tokenId) para uma conta especificada. Esse método só pode ser chamado por um Token Admin ou Token Auditor do chaincode, ou um Org Admin ou Org Auditor da organização especificada.
Consulta:
/getUserByCBDCAccountId?accountId=account_id value
Parâmetros:
  • accountId: string – O ID da conta.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "token_id": "USD",
            "user_id": "admin_user_cb",
            "org_id": "CB"
        },
        "encode": "JSON"
    }
}
getUsersByRole
Nome do método original: getUsersByRole
Este método GET retorna uma lista de todos os usuários para uma atribuição e um token especificados. Esse método só pode ser chamado por uma Token Admin ou Token Auditor do chaincode.
Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
Parâmetros:
  • tokenId: string – O ID do token.
  • role: string – O nome da função a ser pesquisada.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: holdTokens
Esse método cria uma retenção em nome do proprietário dos tokens com a conta to_account_id. Uma conta do notário é especificada, que é responsável por concluir ou liberar a retenção. Quando a retenção é criada, o saldo de token especificado do pagador é colocado em retenção. Um saldo retido não pode ser transferido até que a retenção seja concluída ou liberada. O chamador desse método deve ter uma conta já criada.
Payload:
{
    "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 – O ID do token.
  • operationId: string – Um ID exclusivo para identificar a operação de retenção. Geralmente, esse ID é passado pelo aplicativo cliente.
  • toOrgId: string – O ID do provedor de serviços de associação (MSP) do destinatário na organização atual.
  • toUserId: string – O nome de usuário ou ID de e-mail do destinatário.
  • notaryOrgId: string – O ID do notário do provedor de serviços de associação (MSP) na organização atual.
  • notaryUserId: string – O nome de usuário ou ID de e-mail do notário.
  • quantity: number – O número de tokens a serem colocados em espera.
  • timeToExpiration – O horário em que a retenção expira. Especifique 0 para uma retenção permanente. Caso contrário, use o formato RFC-3339. Por exemplo, 2021-06-02T12:46:06Z.
  • infoDetails: JSON – A descrição e a categoria, conforme mostrado no exemplo a seguir.
    {
       "category" : "category input",
       "description" : "description input"
    }
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: init
Este método é chamado quando o chaincode é implantado. As informações do usuário são salvas como o Token Admin do chaincode.
Payload:
{
    "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]"
}
Parâmetros:
  • adminList array – Um array de informações do {user_id, org_id} que especifica a lista de administradores de token. O array adminList é um parâmetro obrigatório.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807",
        "payload": "",
        "encode": "UTF-8",
        "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
        "blockNumber": 263
    }
}
initializeCBDCToken
Nome do método original: initializeCBDCToken
Esse método cria um token e inicializa as propriedades do token. O ativo e suas propriedades são salvos no banco de dados de estado. Esse método só pode ser chamado por um Token Admin do chaincode.
Payload:
{
    "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}",
    "sameOrgEndorser": true
}
Parâmetros:
  • tokenAsset: <Token Class> – O ativo de token é passado como parâmetro para esse método. As propriedades do ativo de token são descritas no arquivo de modelo.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Retorna:
  • No caso de sucesso, uma representação JSON do ativo de token que foi criado.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: rejectMint
Este método pode ser chamado por um notário mineiro para rejeitar uma solicitação de cunhagem.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parâmetros:
  • tokenId: string – O ID do token para rejeitar a cunhagem.
  • operationId: string – O ID de operação exclusivo que representa a solicitação de hortelã.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: rejectBurn
Este método pode ser chamado por um notário para rejeitar uma solicitação de gravação.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "sameOrgEndorser": true
}
Parâmetros:
  • tokenId: string – O ID do token a ser rejeitado para gravação.
  • operationId: string – O ID de operação exclusivo que representa a solicitação de gravação.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: releaseHoldTokens
Este método POST libera uma retenção de tokens. A transferência não foi concluída e todos os tokens retidos estão disponíveis novamente para o proprietário original. Esse método pode ser chamado pelo ID AccountOwner com a função notary dentro do limite de tempo especificado ou pelo pagador, favorecido ou notário após o limite de tempo especificado.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "operationId": "operation_id value",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • tokenId: string – O ID do token.
  • operationId: string – Um ID exclusivo para identificar a operação de retenção. Geralmente, esse ID é passado pelo aplicativo cliente.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: removeTokenAdmin
Este método POST remove um usuário como um Token Admin do chaincode. Esse método só pode ser chamado por um Token Admin do chaincode. Um administrador não pode remover a si mesmo.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: removeTokenAuditor
Este método POST remove um usuário como um Token Auditor do chaincode. Esse método só pode ser chamado por um Token Admin do chaincode.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: removeOrgAdmin
Este método POST remove um usuário como um Org Admin do chaincode. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: removeOrgAuditor
Este método POST remove um usuário como um Org Auditor do chaincode. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: removeRole
Este método remove uma atribuição de um usuário e token especificados. Esse método só pode ser chamado por uma Token Admin do chaincode ou por uma Org Admin da organização especificada.
Payload:
{
    "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 – O ID do token.
  • role: string – O nome da atribuição a ser removida do usuário especificado. Os comportamentos mintable e burnable correspondem às propriedades minter_role_name e burner_role_name do arquivo de especificação. Da mesma forma, a atribuição notary corresponde à propriedade notary_role_name do arquivo de especificação.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Retorna:
  • No caso de êxito, uma mensagem com detalhes da conta.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: requestMint
Este método pode ser chamado por um mineiro para enviar uma solicitação ao notário do mineiro para criar uma quantidade especificada de tokens.
Payload:
{
    "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 – O ID do token para mint.
  • operationId: string – O ID de operação exclusivo que representa a solicitação de hortelã.
  • notaryOrgId: string – O ID do MSP (Membership Service Provider) do notário do mineiro que processará a solicitação.
  • notaryUserId: string – O nome de usuário ou o ID de email do notário do mineiro que processará a solicitação.
  • quantity: number – A quantidade de tokens para hortelã.
  • timeToExpiration – O tempo após o qual a solicitação de cunhagem expira e não é mais válida.
  • infoDetails: JSON – Um objeto que especifica a categoria (category) e a descrição (description) da solicitação, conforme mostrado no exemplo a seguir.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: requestBurn
Este método pode ser chamado por um queimador para enviar uma solicitação ao notário para destruir uma quantidade especificada de tokens.
Payload:
{
    "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 – O ID do token a ser gravado.
  • operationId: string – O ID de operação exclusivo que representa a solicitação de gravação.
  • notaryOrgId: string – O ID do provedor de serviços de associação (MSP) do notário do queimador que processará a solicitação.
  • notaryUserId: string – O nome de usuário ou ID de email do notário do queimador que processará a solicitação.
  • quantity: number – A quantidade de tokens a serem gravados.
  • timeToExpiration – O tempo após o qual a solicitação de gravação expira e não é mais válida.
  • infoDetails: JSON – Um objeto que especifica a categoria (category) e a descrição (description) da solicitação, conforme mostrado no exemplo a seguir.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: setApplicationGroups
Este método POST é usado para definir o parâmetro application_groups nos detalhes da conta para os grupos de aplicativos especificados. Esse método só pode ser chamado por uma Token Admin do chaincode ou por uma Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "applicationGroups": "[\"application_groups value\"]",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • tokenId: string – O ID do token.
  • applicationGroups: string[] – Uma lista de grupos de aplicativos aos quais o ID do usuário pertence, definindo as associações do usuário no aplicativo CBDC.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Retorna:
  • Em caso de sucesso, uma mensagem de sucesso com a quantidade de tokens gravados e o ID da conta.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "",
            "token_name": "",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_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
Nome do método original: setMaxDailyAmount
Este método POST é usado para definir o parâmetro maxDailyAmount nos detalhes da conta para o valor especificado. Esse método só pode ser chamado por uma Token Admin do chaincode ou por uma Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyAmount": 1,
    "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • tokenId: string – O ID do token.
  • maxDailyAmount: number – O valor máximo diário da conta especificada, que define o valor máximo que pode ser transacionado diariamente.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_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
Nome do método original: setMaxDailyTransactionCount
Este método POST é usado para definir o parâmetro maxDailyTransactions nos detalhes da conta para o valor especificado. Esse método só pode ser chamado por uma Token Admin do chaincode ou por uma Org Admin da organização especificada.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "tokenId": "{{bc-token-id}}",
    "maxDailyTransactions": 1,
    "endorsers": {{endorsers}}
}
Parâmetros:
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • tokenId: string – O ID do token.
  • maxDailyTransactions: number – O valor máximo diário da conta especificada, que define o número máximo de transações permitidas por dia.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9",
        "payload": {
            "bapAccountVersion": 0,
            "assetType": "oaccount",
            "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
            "user_id": "admin_user_cb",
            "org_id": "CB",
            "token_type": "fungible",
            "token_id": "USD",
            "token_name": "cbdc",
            "balance": 0,
            "onhold_balance": 0,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_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
Nome do método original: suspendAccount
Este método suspende uma conta de token fungível. Ele gerará um erro se um valor accountStatus não for encontrado no razão. Esse método só pode ser chamado por uma Token Admin do chaincode ou por uma Org Admin da organização especificada.
Payload:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
Parâmetros:
  • tokenId: string – O ID do token.
  • orgId: string – O ID do provedor de serviços de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou ID de e-mail do usuário.
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "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
Nome do método original: transferTokens
Este método transfere tokens do chamador para uma conta especificada. O chamador do método deve ter uma conta. A quantidade deve estar dentro dos valores decimais especificados pelo parâmetro decimal do comportamento divisible no arquivo de especificação.
Payload:
{
    "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 – O ID do token.
  • toOrgId: string – O ID do provedor de serviços de associação (MSP) do destinatário (favorecido) na organização atual.
  • toUserId: string – O nome de usuário ou ID de e-mail do destinatário.
  • quantity: number – O número de tokens a serem transferidos.
  • infoDetails: JSON – Um objeto que especifica a categoria (category) e a descrição (description) da solicitação, conforme mostrado no exemplo a seguir.
    {
         "category" : "category input",
         "description" : "description input"
    }
  • endorsers: string[] – Um array dos pares (por exemplo, peer1, peer2) que deve endossar a transação.
Exemplo de Valor de Retorno:
{
    "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
    }
}

O pacote da API wrapper também inclui a API createCBDCAccount, que combina APIs chaincode e APIs da console do Oracle Blockchain Platform em um único ponto final para criação de conta.

createCBDCAccount
Payload:
{
    "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 – O ID do provedor de serviços de associação (MSP) do usuário para o qual a conta será criada. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).
  • userId – O nome de usuário ou ID de e-mail do usuário. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).
  • applicationGroups – Os grupos de aplicativos aos quais a conta pertencerá. Por exemplo, System_Admins.
  • tokenId – O ID do token associado à conta. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e os caracteres especiais sublinhado (_) e hífen (-). Não pode exceder 16 caracteres de comprimento.
  • role – A função deve ser um dos seguintes valores: minter, burner, notary, tokenAdmin, tokenAuditor, orgAdmin ou orgAuditor.
  • dailyLimits – Dois campos numéricos que definem os limites de transação diária: max_daily_amount e max_daily_transactions.
Exemplo de Valor de Retorno:
"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,
            "onhold_burn_balance": 0,
            "application_groups": [
                "System_Creators"
            ],
            "max_daily_amount": 1000,
            "daily_amount": 0,
            "max_daily_transactions": 100,
            "daily_transactions": 0,
            "current_date": "2024-10-06T00:00:00.000Z"
     }
 }

A API createCBDCAccount conclui as operações a seguir em sequência.

  1. Cria um ID de inscrição para o usuário no Oracle Blockchain Platform. O ID matrícula criado é igual ao ID usuário, com algumas limitações. O ID pode conter somente caracteres alfanuméricos, hifens (-) e sublinhados (_). Se o ID usuário contiver outros caracteres especiais, eles serão substituídos por um sublinhado (_). Por exemplo, se o ID usuário for adam.fripp@example.com, o ID de inscrição criado será adam_fripp_example_com. Se a matrícula já existir para o ID usuário especificado, outra matrícula não será criada.
  2. Cria uma conta no razão com os detalhes fornecidos na carga útil.
  3. Associa a nova conta ao token especificado no payload.
  4. Atribui a atribuição especificada no payload ao usuário.

Para garantir a consistência e evitar dados incompletos, se alguma das etapas subsequentes falhar, o ID de inscrição criado na primeira etapa será excluído.