Pacote Confidencial Atacado CBDC Wrapper API
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 da versão de modo confidencial do cenário 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.
WholesaleCBDCWithConfidentialPaymentWrapperAPI.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 encapsulador.WholesaleCBDCWithConfidentialPayment_WrapperAPI.postman_collection
, 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
-
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
ouOrg Admin
da organização especificada. Não é possível ativar contas excluídas. - Payload:
{ "accountId": "account_id value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrã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": "864cdbc5b4ee1a6f2238301e75ee2ddff0ecfa490ddf490da33365cae92cb4ad", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~4c900b07f6136f36854064c0c0ba97aa09c9734cbe11966cc83865f156ced2c6", "account_id": "oaccount~214ad54a30703412b195f36429607b08627dea893303870bf3372f944fe0c088", "status": "active" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 58 } }
-
addCBAdmin
- 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 umToken Admin
do chaincode do token. A primeira chamada é do administrador que instancia o chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "a988dc3e9aab162508fd0555fec254f248e27fd0c5440d94e1f49fc65643cafa", "payload": { "msg": "Successfully added Token Admin (Org_Id: CentralBank, User_Id: user1)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 69 } }
-
addCBAuditor
- 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}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "864cdbc5b4ee1a6f2238301e75ee2ddff0ecfa490ddf490da33365cae92cb4ad", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~4c900b07f6136f36854064c0c0ba97aa09c9734cbe11966cc83865f156ced2c6", "account_id": "oaccount~214ad54a30703412b195f36429607b08627dea893303870bf3372f944fe0c088", "status": "active" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 58 } }
-
addFIAdmin
- 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
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "ab1544c0d23d930253e6e6020c7c9584f03d324fb1123cc96fe7e0573b232792", "payload": { "msg": "Successfully added Org Admin (Org_Id: CentralBank, User_Id: cb_admin_demo)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 61 } }
-
addFIAuditor
- 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
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c0acbadfa461963a5d085bb12335dcf6d8ec566acf72a88a1f168b3a0435db89", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CentralBank, User_Id: cb_admin_demo)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 62 } }
-
addRole
- 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
ouOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "role": "role value (for example minter / burner / notary)", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta.role: string
– O nome da função a ser adicionada ao usuário especificado.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c44931d2227305914db21564301775f8a4edc2aa7fef434d063be7e207b4fd20", "payload": { "msg": "Successfully added role 'minter' to Account Id: oaccount~214ad54a30703412b195f36429607b08627dea893303870bf3372f944fe0c088" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 63 } }
-
approveCBDCCreation
- 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", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "4514aa229ebcc4d2fedcaa47c4301615e30c4a9bae45cf0256a5b80d75b3697a", "payload": { "msg": "Successfully minted 1000 tokens to Account Id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 337 } }
-
approveCBDCRetirement
- 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", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "8c7b013765917ebade60c6e6e122ec9b94282349e630fa1f2a446c79cb9ef29c", "payload": { "msg": "Successfully burned 200 tokens from account id: oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98 (Org-Id: CentralBank, User-Id: cb_retirer_demo)" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 338 } }
-
approveHoldCBDCTokens
- 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 comportamentoroles
for especificado na seçãobehaviors
do modelo de token e o valornotary_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}}, "transientMapArgsFlag": 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.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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "5177f7560d32838242a26ac74f2a90c6ff9b47aae0d0988f28d9b4cf7e27c097", "payload": { "msg": "Account Id: oaccount~1e31495a0c149b08cb9d02bdcac5e83d88c0f1557d954dda12bb807d7f6fc111 (Org-Id: Org1, User-Id: fi1_org_user1_demo) is successfully executed '10' tokens from Operation Id '454f4bf6'." }, "encode": "JSON", "sourceURL": "org1-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 339 } }
-
consolidateRunningBalanceInTransactions
- Nome do método original:
consolidateRunningBalanceInTransactions
- Este método consolida os saldos de execução das contas na organização do chamador. Esse método só pode ser chamado por uma
Token Admin
ouOrg Admin
. - Payload:
{ "endorsers": {{endorsers}} }
- Parâmetros:
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": "f3c019974cd93eaa8f3171a36ec25009fa6925b5880cae8c9a49a141944039c0", "payload": { "msg": "Successfully updated account running balance for pending transactions." }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 340 } }
-
associateTokenToAccount
- 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
ouOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "customAccountId": "custom_account_id value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta.tokenId: string
– O ID do token.customAccountId: string
– O ID aleatório exclusivo de contas no modo confidencial.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "fc7e9297d1d7beef5567fbef873955f5a9759d031811198e24f67f064e0e80b0", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "application_groups": [ "CENTRAL_BANK_USERS" ] }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 71 } }
-
createAccount
- 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 umaToken Admin
do chaincode ou por umaOrg 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}}, "transientMapArgsFlag": true }
- 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 serfungible
.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.
No exemplo, o valor{ "max_daily_amount": 100000 "max_daily_transactions": 10000 }
max_daily_amount
é a quantidade máxima de tokens que podem ser transacionados diariamente e o valormax_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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "dc167f95bdcc246c9ecb20e56126c705f522cff30c94798f21a82de111367ab8", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~b53cb2c19c92d1d5c8cb9f6e988e7761c34e03e014e6c4b889565fc0abf46c8a", "org_id": "CentralBank", "token_type": "fungible", "token_id": "", "token_name": "", "balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "onhold_burn_balance": "028b72742c8aa9a0395c828fe4f0e46226a3e40d4e731d0b994c8028c8b7bd4df6", "application_groups": [ "CENTRAL_BANK_USERS" ] }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 70 } }
-
getAccountDetailsByCustomAccountId
- Nome do método original:
getAccountDetailsByCustomAccountId
- Este método GET retorna os detalhes da conta para um ID de conta personalizado especificado. Esse método pode ser chamado por um
Token Admin
ouToken Auditor
, ou umOrg Admin
ouOrg Auditor
da organização especificada. - Consulta:
getAccountDetailsByCustomAccountId?customAccountId=customAccountId value&orgId={{bc-org-id}}&peer={{peer}}
- Parâmetros:
customAccountId: string
– O ID aleatório exclusivo de contas no modo confidencial.orgId: string
– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "cf46211c670f7d21feb000a0161baaced91be314ea53981e26dc1482924055c9", "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "0", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "SYSTEM_ADMINS" ], "user_id": "cb_admin_demo", "custom_account_id": "10101234000123" } ], "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20012", "blockNumber": 341 } }
-
getAllActiveCBDCAccounts
- Nome do método original:
getAllActiveAccounts
- Este método GET retorna todas as contas ativas associadas ao ID do token especificado.
- Consulta:
getAllActiveCBDCAccounts?orgId={{bc-org-id}}&tokenId={{bc-token-id}}&peer={{peer}}
- 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.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- 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, Administrador de Organização, Auditor de Organização):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [ "token_admin" ] }, { "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "role_name": null, "valueJson": { "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_AUDITORS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [ "token_auditor" ] }, { "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "role_name": "minter", "valueJson": { "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_CREATORS" ], "max_daily_amount": "1000000", "max_daily_transactions": "100000" }, "non_account_role_name": [] }, { "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "role_name": "notary", "valueJson": { "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_MANAGERS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [] }, { "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "role_name": null, "valueJson": { "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ISSUERS" ], "max_daily_amount": "100000", "max_daily_transactions": "10000" }, "non_account_role_name": [] }, { "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "role_name": "burner", "valueJson": { "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_RETIRERS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [] } ], "encode": "JSON" } }
- Exemplo de Valor de Retorno (todos os outros usuários):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ] } }, { "key": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "role_name": null, "valueJson": { "account_id": "oaccount~1a6ea9aaa59c9ae8385bfdc870bf02616995c881ffeb111f526c8b31dbbdd43c", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_AUDITORS" ] } }, { "key": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "role_name": "minter", "valueJson": { "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_CREATORS" ] } }, { "key": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "role_name": "notary", "valueJson": { "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_MANAGERS" ] } }, { "key": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "role_name": null, "valueJson": { "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ISSUERS" ] } }, { "key": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "role_name": "burner", "valueJson": { "account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_RETIRERS" ] } } ], "encode": "JSON" } }
-
getAllSuspendedCBDCAccounts
- Nome do método original:
getAllSuspendedAccounts
- Este método GET retorna todas as contas suspensas associadas ao ID do token especificado.
- Consulta:
/getAllSuspendedCBDCAccounts?orgId={{bc-org-id}}&tokenId={{bc-token-id}}&peer={{peer}}
- 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.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- 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, Administrador de Organização, Auditor de Organização):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ], "max_daily_amount": "10000", "max_daily_transactions": "1000" }, "non_account_role_name": [ "token_admin" ] } ], "encode": "JSON" } }
- Exemplo de Valor de Retorno (todos os outros usuários):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "role_name": null, "valueJson": { "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "org_id": "CentralBank", "token_id": "USD", "application_groups": [ "SYSTEM_ADMINS" ] } } ], "encode": "JSON" } }
-
getApproverActionHistory
- 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}}&peer={{peer}}
- Parâmetros:
tokenId: string
– O ID do token.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~b770", "holding_status": "APPROVE_BURN", "last_updated_time": "2025-08-25T13:21:24.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": null, "to_org_id": null, "token_name": null, "quantity": 200 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~e7b6", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-25T13:20:50.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 1000 }, { "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~81d7c4ac", "holding_status": "EXECUTEHOLD", "last_updated_time": "2025-08-25T13:16:55.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "token_name": null, "quantity": 200 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~1e19", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-13T06:12:41.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 10000 }, { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~1f74", "holding_status": "REJECT_BURN", "last_updated_time": "2025-08-12T21:09:53.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "token_name": null, "quantity": 1000 }, { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~d67c", "holding_status": "REJECT_BURN", "last_updated_time": "2025-08-12T21:09:47.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "token_name": null, "quantity": 2000 }, { "from_account_id": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~911b", "holding_status": "APPROVE_BURN", "last_updated_time": "2025-08-12T21:09:40.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": null, "to_org_id": null, "token_name": null, "quantity": 1000 }, { "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~ed815e20", "holding_status": "EXECUTEHOLD", "last_updated_time": "2025-08-12T21:09:25.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "token_name": null, "quantity": 10000 }, { "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~12d87129", "holding_status": "EXECUTEHOLD", "last_updated_time": "2025-08-12T21:09:17.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "token_name": null, "quantity": 10000 }, { "from_account_id": "", "from_org_id": null, "holding_id": "ohold~cbdc~USD~54a4", "holding_status": "REJECT_MINT", "last_updated_time": "2025-08-12T21:01:27.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 40000 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~9b27", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-12T21:01:16.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 30000 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~eda0", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-12T21:01:05.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 20000 }, { "from_account_id": null, "from_org_id": null, "holding_id": "ohold~cbdc~USD~1baa", "holding_status": "APPROVE_MINT", "last_updated_time": "2025-08-12T21:01:03.000Z", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": null, "timetoexpiration": null, "to_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_org_id": "CentralBank", "token_name": null, "quantity": 10000 } ], "encode": "JSON" } }
-
getCBDCAccount
- Nome do método original:
getCBDCAccount
- 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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
da organização especificada ou aAccountOwner
da conta. - Consulta:
/getCBDCAccount?accountId=account_id value&peer={{peer}}
- Parâmetros:
accountId: string
– O ID da conta.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "user_id": "cb_manager_demo", "custom_account_id": "10105678007891", "status": "active", "account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "0", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "SYSTEM_MANAGERS" ] }, "encode": "JSON" } }
-
getCBDCAccountBalance
- 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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
da organização especificada ou aAccountOwner
da conta. /getCBDCAccountBalance?accountId=account_id value&peer={{peer}}
- Parâmetros:
accountId: string
– O ID da conta.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- 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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
da organização especificada ou aAccountOwner
da conta. /getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}&peer={{peer}}
- 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.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 15, "assetType": "oaccount", "user_id": "cb__creator_demo", "custom_account_id": "10105678004567", "account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "21000", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "SYSTEM_CREATORS" ] }, { "bapAccountVersion": 0, "assetType": "oaccount", "user_id": "cb__creator_demo", "custom_account_id": "Not Available", "account_id": "oaccount~388fb87df59c6a4fbf0400c58b61aa85f975a8c4209942006b0c0d6334fcf887", "org_id": "CentralBank", "token_type": "fungible", "token_id": "", "token_name": "", "balance": "0", "onhold_balance": "0", "onhold_burn_balance": "0", "application_groups": [ "application_groups value" ] } ], "encode": "JSON" } }
-
getCBDCAccountTransactionHistory
- 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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
da organização especificada ou aAccountOwner
da conta. /getCBDCAccountTransactionHistory?accountId=account_id value&peer={{peer}}
- Parâmetros:
accountId: string
– O ID da conta.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~4514aa229ebcc4d2fedcaa47c4301615e30c4a9bae45cf0256a5b80d75b3697a", "transacted_amount": 1000, "timestamp": "2025-08-25T13:20:50.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 21000, "onhold_balance": 0 }, { "transaction_id": "otransaction~1982f73495060e0eef4d78282a91c41e27e8c95572739b0677a1e404a0d20aa9", "transacted_amount": 200, "timestamp": "2025-08-25T13:12:43.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~fedd714cf1509f7517819d7cd4c0921d0b2f5d1ff6a25dcb08ab411defd6b5f3", "transacted_amount": 2000, "timestamp": "2025-08-21T05:23:25.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~f33b47234f3ee0b636962c8c31c01d06523b789ca16b3b342d5080b71268bcc3", "transacted_amount": 1000, "timestamp": "2025-08-21T05:23:07.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~cf934527149bc24f62a8ddeeea7f74a19a0f84d8f161535a771be49d2520d5b3", "transacted_amount": 10000, "timestamp": "2025-08-13T06:12:41.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 20000, "onhold_balance": 0 }, { "transaction_id": "otransaction~f5c0e11ca61d9adc843658929e6de2a738ad586304f9e020f75bf4aac5e42a2c", "transacted_amount": 10000, "timestamp": "2025-08-13T06:12:04.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 10000, "onhold_balance": 0 }, { "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6", "transacted_amount": 50000, "timestamp": "2025-08-12T21:04:22.000Z", "token_id": "USD", "category": "transfer", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transaction_type": "DEBIT", "balance": 10000, "onhold_balance": 0 }, { "transaction_id": "otransaction~8a74c6d87ca74a613aab9db5d40386f8d5b534f9800503af8ca27e8946d7616d", "transacted_amount": 40000, "timestamp": "2025-08-12T21:01:27.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REJECT_MINT", "balance": 60000, "onhold_balance": 0 }, { "transaction_id": "otransaction~28ac66ba33f7ad0648448964b2b74525c9e3f0c9908c7a0484690b9baa56c2db", "transacted_amount": 30000, "timestamp": "2025-08-12T21:01:16.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 60000, "onhold_balance": 0 }, { "transaction_id": "otransaction~7e32ad8f365ff59814e112f27602f30ab599fb9c1638784496c66a61a6277c22", "transacted_amount": 20000, "timestamp": "2025-08-12T21:01:05.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 30000, "onhold_balance": 0 }, { "transaction_id": "otransaction~1477050bb9e55f4f471872b31fce0d2097f5d5e57d89a842070df5e36d7ab0da", "transacted_amount": 10000, "timestamp": "2025-08-12T21:01:03.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "APPROVE_MINT", "balance": 10000, "onhold_balance": 0 }, { "transaction_id": "otransaction~0e76c6931b7ee134e967e847d9730b867a0fd191d39697d83d36dd15745c02e3", "transacted_amount": 40000, "timestamp": "2025-08-12T21:00:20.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~07bbf9c190694371626da59ded5d87434d26f612891e13bb15bdd28f6086e760", "transacted_amount": 30000, "timestamp": "2025-08-12T21:00:01.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~8721175c6cbbce17b6c4bb6a444e475d07f52352dfd0d990679f342215153513", "transacted_amount": 20000, "timestamp": "2025-08-12T20:59:41.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~dc24c24d43a6525e807a39edcf8c6a2b6ccb81f0d755958f509509687eacee84", "transacted_amount": 10000, "timestamp": "2025-08-12T20:59:13.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "REQUEST_MINT", "balance": 0, "onhold_balance": 0 }, { "transaction_id": "otransaction~396e6ca5a11a9609632d0864026409d46a708fb95e3e21b39fa5f3fb78f90872", "transacted_amount": 0, "timestamp": "2025-08-12T20:43:20.000Z", "token_id": "", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transaction_type": "CREATE_ACCOUNT", "balance": 0, "onhold_balance": 0 } ], "encode": "JSON" } }
-
getCBDCAccountTransactionHistoryWithFilters
- 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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
da organização especificada ou aAccountOwner
da conta. /getCBDCAccountTransactionHistoryWithFilters?accountId=account_id value&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"1900-01-01T00:00:00+00:00","endTime":"2100-01-01T00:00:00+00:00"}&peer={{peer}}
- Parâmetros:
accountId: string
– O ID da conta.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 propriedadepageSize
determina o número de registros a serem retornados. SepageSize
for 0, o tamanho padrão da página será 20. A propriedadebookmark
determina o índice inicial dos registros a serem retornados. As propriedadesstartTime
eendTime
devem ser especificadas no formato RFC-3339.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "transacted_amount": 200, "timestamp": "2025-08-25T13:16:55.000Z", "token_id": "USD", "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transacted_org_id": "Org1", "transacted_user_id": "fi1_org_officer_demo", "transacted_custom_account_id": "20200222221111", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "EXECUTEHOLD", "category": "transfer", "balance": 26800, "onhold_balance": 300 }, { "transaction_id": "otransaction~2b75b3e8531a651f07c2d048d8546ad70ac49c66f0b82ed7626c1739090842ce", "transacted_amount": 100, "timestamp": "2025-08-25T13:16:06.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~e26f11da", "category": "transfer", "balance": 26800, "onhold_balance": 500 }, { "transaction_id": "otransaction~9e7bf14cf96c5f90170da9455b1318687785e936192f60b7cbeb1c8bfabc41d2", "transacted_amount": 100, "timestamp": "2025-08-21T06:57:19.000Z", "token_id": "USD", "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_retirer_demo", "transacted_custom_account_id": "10109999006543", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "from_user_id": "cb_retirer_demo", "from_custom_account_id": "10109999006543", "transaction_type": "CREDIT", "category": "transfer", "balance": 26900, "onhold_balance": 400 }, { "transaction_id": "otransaction~b3901b4754920a9c75e36069dc55024ad505e4c127f334eedf65ef6703dc6b86", "transacted_amount": 200, "timestamp": "2025-08-21T05:39:25.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "to_user_id": "fi2_org_officer_demo", "to_custom_account_id": "30300617202404", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~77b75873", "category": "issuance", "balance": 26800, "onhold_balance": 400 }, { "transaction_id": "otransaction~d55c9dfc9feacb353544b5d8b2ae694162ade3890bcaaf715503fd1d6a73cd1a", "transacted_amount": 200, "timestamp": "2025-08-21T05:39:01.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~81d7c4ac", "category": "transfer", "balance": 27000, "onhold_balance": 200 }, { "transaction_id": "otransaction~751eaedbe4311edd5d17cae53d283caf397d0cb09f18d57a5e3fe61266875ff9", "transacted_amount": 200, "timestamp": "2025-08-13T09:59:22.000Z", "token_id": "USD", "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "transacted_org_id": "org2", "transacted_user_id": "fi2_org_officer_demo", "transacted_custom_account_id": "30300617202404", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "from_org_id": "org2", "from_user_id": "fi2_org_officer_demo", "from_custom_account_id": "30300617202404", "transaction_type": "CREDIT", "category": "transfer", "balance": 27200, "onhold_balance": 0 }, { "transaction_id": "otransaction~70155a8f4e388cc9395dbd03bedaf5a878705f5ad02302c8e9163218a5c3875a", "transacted_amount": 1000, "timestamp": "2025-08-13T06:22:56.000Z", "token_id": "USD", "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transacted_org_id": "Org1", "transacted_user_id": "fi1_org_officer_demo", "transacted_custom_account_id": "20200222221111", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "from_org_id": "Org1", "from_user_id": "fi1_org_officer_demo", "from_custom_account_id": "20200222221111", "transaction_type": "CREDIT", "category": "transfer", "balance": 27000, "onhold_balance": 0 }, { "transaction_id": "otransaction~e595f3f0cc03fa5f58a546b8abbfaf155592e492f850581db2b8fed9a529c9e2", "transacted_amount": 10000, "timestamp": "2025-08-12T21:09:25.000Z", "token_id": "USD", "transacted_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "transacted_org_id": "org2", "transacted_user_id": "fi2_org_officer_demo", "transacted_custom_account_id": "30300617202404", "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "to_user_id": "fi2_org_officer_demo", "to_custom_account_id": "30300617202404", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "EXECUTEHOLD", "category": "issuance", "balance": 26000, "onhold_balance": 0 }, { "transaction_id": "otransaction~da92402859d87ae3069722d8e39cb0da448e9a5f67468233ee9b1fe7a4ebeef8", "transacted_amount": 10000, "timestamp": "2025-08-12T21:09:17.000Z", "token_id": "USD", "transacted_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transacted_org_id": "Org1", "transacted_user_id": "fi1_org_officer_demo", "transacted_custom_account_id": "20200222221111", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "EXECUTEHOLD", "category": "issuance", "balance": 26000, "onhold_balance": 10000 }, { "transaction_id": "otransaction~6915145aaf09fbf4d96456febddc2aa87b48c08ddd8ff17a6bab5d310f67bb36", "transacted_amount": 1000, "timestamp": "2025-08-12T21:07:11.000Z", "token_id": "USD", "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_retirer_demo", "transacted_custom_account_id": "10109999006543", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "from_org_id": "CentralBank", "from_user_id": "cb_retirer_demo", "from_custom_account_id": "10109999006543", "transaction_type": "CREDIT", "category": "transfer", "balance": 26000, "onhold_balance": 20000 }, { "transaction_id": "otransaction~244d7172d1dc90a142e1f22204c76614c7eea814b3d61f33016b786f1b347784", "transacted_amount": 10000, "timestamp": "2025-08-12T21:05:39.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "to_user_id": "fi2_org_officer_demo", "to_custom_account_id": "30300617202404", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~ed815e20", "category": "issuance", "balance": 25000, "onhold_balance": 20000 }, { "transaction_id": "otransaction~c63ec37966264493bde6fa666527b9cca11695c15611c32e89af49a2246f13f6", "transacted_amount": 10000, "timestamp": "2025-08-12T21:05:20.000Z", "token_id": "USD", "transacted_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_issuer_demo", "transacted_custom_account_id": "10109999001234", "to_account": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "to_user_id": "fi1_org_officer_demo", "to_custom_account_id": "20200222221111", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "ONHOLD", "holding_id": "ohold~cbdc~USD~12d87129", "category": "issuance", "balance": 35000, "onhold_balance": 10000 }, { "transaction_id": "otransaction~5112f576c94c2d23c342479bfa37e34612414b3258a64b43cf51b920f4ff5868", "transacted_amount": 5000, "timestamp": "2025-08-12T21:05:02.000Z", "token_id": "USD", "transacted_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "transacted_org_id": "CentralBank", "transacted_user_id": "cb_retirer_demo", "transacted_custom_account_id": "10109999006543", "to_account": "oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98", "to_org_id": "CentralBank", "to_user_id": "cb_retirer_demo", "to_custom_account_id": "10109999006543", "from_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "from_user_id": "cb_issuer_demo", "from_custom_account_id": "10109999001234", "transaction_type": "DEBIT", "category": "burn", "balance": 45000, "onhold_balance": 0 }, { "transaction_id": "otransaction~862aa9d9e877d3ea209b87299ab5b12c13ed5ce43d1cf1b934043c1dd02f58f6", "transacted_amount": 50000, "timestamp": "2025-08-12T21:04:22.000Z", "token_id": "USD", "transacted_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "transacted_org_id": "CentralBank", "transacted_user_id": "cb__creator_demo", "transacted_custom_account_id": "10105678004567", "to_account": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "to_org_id": "CentralBank", "to_user_id": "cb_issuer_demo", "to_custom_account_id": "10109999001234", "from_account": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "from_org_id": "CentralBank", "from_user_id": "cb__creator_demo", "from_custom_account_id": "10105678004567", "transaction_type": "CREDIT", "category": "transfer", "balance": 50000, "onhold_balance": 0 } ], "encode": "JSON" } }
-
getCBDCRetiredQuantity
- 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}}&peer={{peer}}
- Parâmetros:
tokenId: string
– O ID do token.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 1200 }, "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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
da organização especificada ou aAccountOwner
da conta. /getOnHoldIds?accountId=account_id value&peer={{peer}}
- Parâmetros:
accountId: string
– O ID da conta.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- 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
ouToken Auditor
do chaincode, umaOrg Admin
ouOrg Auditor
ou aNotary
. /getPendingCBDCIssuance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&peer={{peer}}
- 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.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "asset_type": "ONHOLD", "category": "issuance", "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~77b75873", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": "77b75873", "timetoexpiration": "0", "to_account_id": "oaccount~3954f54a8bc7acdd0c3d0960104240f60d56c26c8a179430267359cd80ce3709", "to_org_id": "org2", "token_id": "USD", "token_name": "cbdc", "quantity": 200 }, { "asset_type": "ONHOLD", "category": "transfer", "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_org_id": "CentralBank", "holding_id": "ohold~cbdc~USD~e26f11da", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "notary_org_id": "CentralBank", "operation_id": "e26f11da", "timetoexpiration": "0", "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "to_org_id": "Org1", "token_id": "USD", "token_name": "cbdc", "quantity": 100 } ], "encode": "JSON" } }
-
getPendingCBDCRequest
- 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
ouToken Auditor
do chaincode ou pelaNotary
. /getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value&orgId={{bc-org-id}}&peer={{peer}}
- Parâmetros:
tokenId: string
– O ID do token.requestType: string
– O tipo de transação. Por exemplo,mint
ouburn
.orgId: string
– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~89ce", "operation_id": "89ce", "token_name": "cbdc", "from_org_id": "CentralBank", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_account_id": "", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "token_id": "USD", "quantity": 2000, "time_to_expiration": "0", "description": "Minting 2000 tokens" } }, { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~cf73", "operation_id": "cf73", "token_name": "cbdc", "from_org_id": "CentralBank", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41", "to_account_id": "", "notary_account_id": "oaccount~9b136ef4a60230846a8c14761683851a386d306b79493bc4d00433020c96cfa7", "token_id": "USD", "quantity": 200, "time_to_expiration": "0", "description": "Minting 200" } } ], "encode": "JSON" } }
-
getTotalCBDCBalanceByCallerOrgId
- 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?peer={{peer}}
- Parâmetros:
peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalBalance": 50500 }, "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
ouOrg Auditor
. - Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}&peer={{peer}}
- Parâmetros:
tokenId: string
– O ID do token.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 71000 tokens.", "quantity": 71000 }, "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&peer={{peer}}
- Parâmetros:
tokenId: string
– O ID do token.transactionId: string
– O ID da transação.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "blockNo": 340, "key": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "metadata": null, "txnNo": 0, "value": null, "valueJson": { "assetType": "otransaction", "blockNo": 336, "txnNo": 1, "transaction_id": "otransaction~3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "token_id": "USD", "from_account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "from_account_balance": 26800, "from_account_onhold_balance": 300, "to_account_id": "oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3", "transaction_type": "EXECUTE_HOLD_SENDER", "amount": 200, "timestamp": "2025-08-25T13:16:55.000Z", "number_of_sub_transactions": 0, "holding_id": "ohold~cbdc~USD~81d7c4ac", "sub_transaction": "false", "category": "transfer", "global_transaction_id": "b54d4333-f4bb-4ca4-a7b7-cc75b659d912" } } ], "encode": "JSON" } }
-
getUserByCBDCAccountId
- Nome do método original:
getUserByAccountId
- Esse método retorna detalhes do usuário (
orgId
,userId
etokenId
) para uma conta especificada. Esse método só pode ser chamado por umToken Admin
ouToken Auditor
do chaincode, ou umOrg Admin
ouOrg Auditor
da organização especificada. - Consulta:
/getUserByCBDCAccountId?accountId=account_id value&peer={{peer}}
- Parâmetros:
accountId: string
– O ID da conta.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "org_id": "CentralBank", "user_id": "cb_admin_demo", "custom_account_id": "10101234000123" }, "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
ouToken Auditor
do chaincode. - Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)&peer={{peer}}
- Parâmetros:
tokenId: string
– O ID do token.role: string
– O nome da função a ser pesquisada.peer: string
– O nome do nó de pareamento no qual a consulta será executada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "token_id": "USD", "org_id": "CentralBank" } ] }, "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:
{ "operationId": "operation_id value", "toAccountId": "to_account_id value", "notaryAccountId": "notary_account_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
operationId: string
– Um ID exclusivo para identificar a operação de retenção. Geralmente, esse ID é passado pelo aplicativo cliente.toAccountId: string
– O ID da conta do destinatário.notaryAccountId: string
– O ID da conta 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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "4793f3907eefce2f9fca7ef107405b0f116efb3afbf83fa0e61fe763690c8235", "payload": { "msg": "AccountId oaccount~76687c724ddbc2d6e6664d9618b2bf1c2a9fe10f84887462447e4caba6aaaff3 is successfully holding 100 tokens" }, "encode": "JSON", "sourceURL": "org1-oabcs1-nrt.blockchain.ocp.example.com:20012", "blockNumber": 343 } }
-
init
- 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}}\"}]", "transientMapArgsFlag": true }
- Parâmetros:
adminList array
– Um array de informações do{user_id, org_id}
que especifica a lista de administradores de token. O arrayadminList
é um parâmetro obrigatório.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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\":\"USD dollar\",\"Currency_Name\":\"US currency\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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": "524be506f53ddf27c42db2be2d7d7ed7f8746880c3bf7990605a4b50fe62a616", "payload": { "assetType": "otoken", "events": true, "token_id": "PHP", "token_name": "cbdc", "token_desc": "token_desc value", "token_standard": "ttf+", "token_type": "fungible", "token_unit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "holdable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner", "notary_role_name": "notary", "mint_approver_role_name": "notary", "burn_approver_role_name": "notary" }, "mintable": { "max_mint_quantity": 0, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "Currency_Name": "Currency_Name value" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 344 } }
-
rejectCBDCCreation
- 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", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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ã.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "182b99bb2ed753994a8c638ab9b08c3a4e73ac8159a3173a2a1f56b651d2eeac", "payload": { "msg": "Successfully rejected mint request with Operation Id '89ce' to mint 2000 tokens of token id USD" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 345 } }
-
rejectCBDCRetirement
- 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", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "af2cc8e43ecb4c5520d90a8d7955b5a47623a29b13eef47e31c16eb48cc0adec", "payload": { "msg": "Successfully rejected burn request with Operation Id '8d34' to burn 100 tokens of token id USD" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 346 } }
-
rejectHoldCBDCTokens
- 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çãonotary
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}}, "transientMapArgsFlag": true }
- 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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c628fb7738222ed969295ccc8d21b4be95d96e3aada4f14570f7820a7051b5f7", "payload": { "msg": "Successfully released '200' tokens from Operation Id '77b75873' to Account Id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a (Org-Id: CentralBank, User-Id: cb_issuer_demo)." }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 347 } }
-
removeCBAdmin
- 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 umToken Admin
do chaincode. Um administrador não pode remover a si mesmo. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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 umToken Admin
do chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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 umaToken Admin
ouOrg Admin
da organização especificada. UmOrg Admin
não pode remover a si mesmo. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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 umaToken Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}}, "transientMapArgsFlag": 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.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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 umaOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "role": "role value (for example minter / burner / notary)", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta.role: string
– O nome da atribuição a ser removida do usuário especificado. Os comportamentosmintable
eburnable
correspondem às propriedadesminter_role_name
eburner_role_name
do arquivo de especificação. Da mesma forma, a atribuiçãonotary
corresponde à propriedadenotary_role_name
do arquivo de especificação.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "d92538a8f9cf2d45a0c14307ce192c399230cbf4022cec5dd6ce560cca527bf3", "payload": { "msg": "Successfully removed role 'notary' from Account Id: oaccount~e8450f7a1f320658169315fb4148ad7cb4c47c31435420fd459665f41238221b" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 72 } }
-
requestCBDCCreation
- 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:
{ "operationId": "operation_id value", "notaryAccountId": "notary_account_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
operationId: string
– O ID de operação exclusivo que representa a solicitação de hortelã.notaryAccountId: string
– O ID da conta 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" }
endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "1982f73495060e0eef4d78282a91c41e27e8c95572739b0677a1e404a0d20aa9", "payload": { "msg": "AccountId oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41 has successfully submitted request to mint 200 tokens" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009", "blockNumber": 332 } }
-
requestCBDCRetirement
- 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:
{ "operationId": "operation_id value", "notaryAccountId": "notary_account_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
operationId: string
– O ID de operação exclusivo que representa a solicitação de gravação.notaryAccountId: string
– O ID da conta do notário 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" }
endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "3b1ba40490dea9bcc4df6ad22ffc7651fbbea5d1889e42a1841ee48d6ae653c6", "payload": { "msg": "AccountId oaccount~cea6080858337b1575d6a76ed0bd07a0eacd8871e3f2f7f793729a0e4b0e8e98 has successfully submitted request to burn 100 tokens" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 333 } }
-
setApplicationGroups
- 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 umaToken Admin
do chaincode ou por umaOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "applicationGroups": "[\"application_groups value\"]", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta de 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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "828fd2ece518fcf266868c840b3b1fc6b967c5c64d7591c42eb18c0c7850dc32", "payload": { "bapAccountVersion": 10, "assetType": "oaccount", "account_id": "oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a", "org_id": "CentralBank", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": "02c4601262fa7ece1ffc909811f829ad973d4133ca27c9c0fa82972d441400ad3e", "onhold_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f", "onhold_burn_balance": "028954d23bfabee1a10d9f5a07793dec08ab0f93fd506079b0fa33f525d527595f", "application_groups": [ "SYSTEM_RETIRERS" ] }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 348 } }
-
setMaxDailyAmount
- 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 umaToken Admin
do chaincode ou por umaOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "maxDailyAmount": "max_daily_amount value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta de 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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "d6a8c26602c2a9cef5d6d563dbc50044af6380c96f7295e2c8e1bbf576cef36f", "payload": { "msg": "Successfully set max daily amount for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 1000000" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 351 } }
-
setMaxDailyTransactionCount
- 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 umaToken Admin
do chaincode ou por umaOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "maxDailyTransactions": "max_daily_transactions value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta de 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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c819da688bbe9cd4ef6fae79af014c66438b5f9d17f771d3ffc5878288097614", "payload": { "msg": "Successfully set max daily transactions for account id oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a to 100000" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 350 } }
-
suspendCBDCAccount
- 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 umaToken Admin
do chaincode ou por umaOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
accountId: string
– O ID da conta de token.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "1fa66e75ba2ab9376944a8b4e362d5fe54e167f8ada989bd9653ea54f7557aea", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d0b8ba4d154d19fd7e61e7793795a5a5b65e2266102aafdd6d01cec1a3336c71", "account_id": "oaccount~c44ffac4c46718e9744cb0aae2016d26a87a5bef5e2d1c0d1abc7d8782f0ba61", "status": "suspended" }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20011", "blockNumber": 342 } }
-
transferCBDCTokens
- 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 comportamentodivisible
no arquivo de especificação. - Payload:
{ "toAccountId": "to_account_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros:
toAccountId: string
– O ID da conta 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.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "62eb436be7c29fc2ed9cae221e874d9a31b163fa10374e7da09bf5e09a96c3ff", "payload": { "msg": "Successfully transferred 10000 tokens from account id: oaccount~da6e14466a0ba9b48ebc18fa672addb92dffc371bf953c3229a95b2ff2d9cd41 to account id: oaccount~68d67712f500e9dac8c314c19744003a993250271d960e9b0d25267bb18dfe9a." }, "encode": "JSON", "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010", "blockNumber": 352 } }
O pacote da API wrapper também inclui as APIs approveHoldCBDCTokensInterOrg
e createCBDCAccount
, que combinam APIs chaincode e APIs da console do Oracle Blockchain Platform em um único ponto final para criação de conta.
-
approveHoldCBDCTokensInterOrg
- Este método transfere tokens de forma segura entre as organizações. Internamente, esse método usa a API de commit de duas fases no Oracle Blockchain Platform.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "senderEndorsers": ["Sender Endorsers values"], "receiverEndorsers": ["Receiver Endorsers values"], "transientMapArgsFlag": true }
- Parâmetros de carga útil:
tokenId: string
– O ID do token CBDC a ser transferido. O ID do token deve existir no razão.operationId: string
– O ID de operação exclusivo da solicitação de transferência (retenção) a ser aprovada.quantity: number
– O número de tokens a serem transferidos.senderEndorsers: string[]
– Um array dos pares na organização do remetente (por exemplo,["peer0.senderorg", "peer1.senderorg"]
) que deve endossar a transação.receiverEndorsers: string[]
– Um array dos pares na organização recebedora (por exemplo,["peer0.receiverorg", "peer1.receiverorg"
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "transactions": [ { "channel": "buildtest", "chaincode": "WCBDCConfAug13", "txstatus": "Committed", "prepare": { "txid": "3140569a4ecb3c3f141cc2468fe21276640b7fd79013d951d9104b79072d8f9c", "blockNumber": 335 }, "commit": { "txid": "9cfa020acc13c1de911e8a53eae799f47c1947d88a608753edb4b97fe45d00cc", "blockNumber": 336 }, "rollback": {} }, { "channel": "buildtest", "chaincode": "WCBDCConfAug13", "txstatus": "Committed", "prepare": { "txid": "32137cd7e16c560f4d96d0f8999f6a267c1e95be2f5b11ef0541e574a6cd7275", "blockNumber": 335 }, "commit": { "txid": "ac55bd7648680ff6b795e4a99026d7c538f68167683e1e622e55778a2930614d", "blockNumber": 336 }, "rollback": {} } ], "lrc": {}, "globalStatus": "Success", "globalTxid": "b54d4333-f4bb-4ca4-a7b7-cc75b659d912", "txStartTime": "2025-08-25T13:16:55.825578503Z" } }
-
createCBDCAccount
-
A API
createCBDCAccount
conclui as operações a seguir em sequência.- 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.
- Cria uma conta no razão com os detalhes fornecidos na carga útil.
- Associa a nova conta ao token especificado no payload.
- 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.
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "applicationGroups": "[\"applicationGroups value\"]", "customAccountId": "custom_account_id value", "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor/ No)", "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}", "endorsers": {{endorsers}}, "transientMapArgsFlag": true }
- Parâmetros de carga útil:
orgId
– 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
.customAccountId
– Um ID aleatório exclusivo para contas que usam chaincode de modo confidencial.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
ouorgAuditor
.dailyLimits
– Dois campos numéricos que definem os limites de transação diária:max_daily_amount
emax_daily_transactions
.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.transientMapArgsFlag
– Um valor booliano. Se verdadeiro, os argumentos são enviados através de um mapa transitório para confidencialidade. Se for falso, os argumentos serão enviados por meio do payload padrão.
- 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, "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" } }