Pacote API Wrapper CBDC Atacado
A Edição de Ativos Digitais do Oracle Blockchain Platform inclui um pacote de API wrapper que estende a API REST para oferecer suporte a operações específicas do CBDC de atacado.
O pacote de API do wrapper usa o serviço API Gateway e o OCI Functions, que são criados usando uma pilha do Resource Manager no OCI (Oracle Cloud Infrastructure), para implantar rotas de API projetadas especificamente para o aplicativo CBDC de atacado. O pacote de API wrapper de CBDC por atacado pode ser baixado na console do Oracle Blockchain Platform e inclui os componentes a seguir.
WholesaleCBDCWrapperAPI.zip
, um arquivo compactado que contém o pacote de API do wrapper, incluindo os scripts do Terraform necessários para implantação. Você implanta esse arquivo em uma pilha do Resource Manager no OCI para criar os recursos Oracle necessários para as APIs do Wrapper.WholesaleCBDC_WrapperAPI.postman_collection.json
, uma coleção Postman que permite testar as APIs do wrapper implantadas. A coleta inclui solicitações pré-configuradas com pontos finais e payloads que correspondem às APIs definidas no pacote de API do wrapper.
APIs Wrapper
-
activateCBDCAccount
- Nome do método original:
activateAccount
- Este método POST ativa uma conta de token. Esse método só pode ser chamado por um
Token Admin
ouOrg Admin
da organização especificada. As contas excluídas não podem ser ativadas. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Retorna:
- Com êxito, uma representação JSON do objeto de status da conta para a conta de token especificada.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
-
addCBAdmin
- Nome do método original:
addTokenAdmin
- Esse método POST adiciona um usuário como
Token Admin
do chaincode 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}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "User (Org_Id: CB, User_Id: cb) is already Token Admin." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
addCBAuditor
- Nome do método original:
addTokenAuditor
- Este método POST adiciona auditores de token ao chaincode de token. Este método pode ser chamado somente pelo
Token Admin
do chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "cd81f6c4c9e7c18ece357dbf5c139ef66ef2d6566be3b14de5f6d0a3fd4bb2f0", "payload": { "msg": "Successfully added Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } }
-
addFIAdmin
- Nome do método original:
addOrgAdmin
- Este método adiciona administradores da organização ao chaincode do token. Esse método só pode ser chamado por um
Token Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a", "payload": { "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } }
-
addFIAuditor
- Nome do método original:
addOrgAuditor
- Esse método adiciona auditores da organização ao chaincode do token. Esse método só pode ser chamado por um
Token Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 198 } }
-
addRole
- Nome do método original:
addRole
- Esse método adiciona a atribuição ao usuário e token especificados. Os IDs de conta são formados pela criação de um hash SHA-256 do ID do token concatenado, do ID da organização e do ID do usuário. Esse método só pode ser chamado por um
Token Admin
ouOrg Admin
da organização especificada. - Payload:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.role: string
– O nome da atribuição a ser adicionada ao usuário especificado.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c", "payload": { "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 201 } }
-
approveCBDCCreation
- Nome do método original:
approveMint
- Os notários podem chamar esse método POST para aprovar uma solicitação de casa da moeda.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parâmetros:
tokenId: string
– O ID do token.operationId: string
– O ID de operação exclusivo da solicitação de mint a ser aprovada.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "payload": { "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 204 } }
-
approveCBDCRetirement
- Nome do método original:
approveBurn
- Os notários podem chamar esse método POST para aprovar uma solicitação de gravação.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parâmetros:
tokenId: string
– O ID do token.operationId: string
– O ID de operação exclusivo da solicitação de mint a ser aprovada.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "8252371040e41753fd843bd086692f4e1ee7d89ffa3a50bfa121c5f1565f922f", "payload": { "msg": "Successfully burned 1 tokens from account id: oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB, User-Id: retirer_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 209 } }
-
approveHoldCBDCTokens
- Nome do método original:
executeHoldTokens
- Os notários chamam esse método para aprovar uma retenção de tokens, o que aciona a transferência dos tokens do pagador para o beneficiário neste cenário de negócios. A quantidade de tokens colocados em retenção 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 estará disponível 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 notário. Caso contrário, qualquer chamador com uma conta pode funcionar como notário. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.operationId: string
– O ID de operação exclusivo da solicitação de mint a ser aprovada.quantity: number
– O número de tokens retidos a serem transferidos.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a", "payload": { "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } }
-
associateTokenToAccount
- Nome do método original:
associateTokenToAccount
- Este método POST associa um ID de conta especificado a um token especificado. Esse método só pode ser chamado por um
Token Admin
ouOrg Admin
da organização especificada. - Payload:
{ "accountId": "account_id value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
accountId: string
– O ID da conta.tokenId: string
– O ID do token.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "efc7381fb6fc6174a40e83ff5f09d2bbf7f6f490365e3bbf19d5502c2cfec474", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~1c6aa60e220b8fc70caf4cea1ed723ddb193a00321e5e0004def062816b77090", "user_id": "cb12", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-11T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 216 } }
-
createAccount
- Nome do método original:
createAccount
- Esse método cria uma conta para um usuário e token especificados. Uma conta deve ser criada para qualquer usuário que terá 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 de 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 umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "fungible", "applicationGroups": "[\"application_groups value\"]", "dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}", "endorsers": {{endorsers}} }
- Parâmetros:
orgId
– O ID do provedor de serviços de associação (MSP) do usuário para o qual a conta será criada. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).userId
– O nome do usuário ou o ID do 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
é o valor máximo 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.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } }
-
getAllActiveCBDCAccounts
- Nome do método original:
getAllActiveAccounts
- Este método GET retorna todas as contas ativas associadas ao ID do token especificado.
- Consulta:
/getAllActiveCBDCAccounts?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Retorna:
- Em caso de êxito, uma mensagem que inclui detalhes do usuário. A saída varia com base na atribuição do usuário, conforme mostrado nos exemplos a seguir.
- Exemplo de valor de retorno (Administrador de token, Auditor de token):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } }
- Exemplo de Valor de Retorno (Administrador da Organização, Auditor da Organização):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } }
- Exemplo de Valor de Retorno (todos os outros usuários):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "non_account_role_name": [ "token_admin" ], "role_name": null, "valueJson": { "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "org_id": "CB", "user_id": "admin_user_cb", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } }
-
getAllSuspendedCBDCAccounts
- Nome do método original:
getAllSuspendedAccounts
- Este método GET retorna todas as contas suspensas associadas ao ID do token especificado.
- Consulta:
/getAllSuspendedCBDCAccounts?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Retorna:
- Em caso de êxito, uma mensagem que inclui detalhes do usuário. A saída varia com base na atribuição do usuário, conforme mostrado nos exemplos a seguir.
- Exemplo de valor de retorno (Administrador de token, Auditor de token):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "assetType": "oaccount", "bapAccountVersion": 1, "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "user_id": "user1_fi1", "org_id": "FI1", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 5, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "Org_Users" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" } } ], "encode": "JSON" } }
- Exemplo de Valor de Retorno (Administrador da Organização, Auditor da Organização):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD", "max_daily_amount": 10000, "max_daily_transactions": 1000 } } ], "encode": "JSON" } }
- Exemplo de Valor de Retorno (todos os outros usuários):
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "non_account_role_name": null, "role_name": null, "valueJson": { "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "org_id": "FI1", "user_id": "user1_fi1", "token_id": "USD" } } ], "encode": "JSON" } }
-
getApproverActionHistory
- Nome do método original:
getActionHistory
- Este método GET recupera o histórico de aprovações ou rejeições feitas pelo chamador para operações de menta, 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 notário. - Consulta:
/getApproverActionHistory?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~eaf6", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:22.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 3, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null }, { "from_account_id": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c", "from_org_id": "CB", "from_user_id": "retirer_user_cb", "holding_id": "ohold~cbdc~USD~0031", "holding_status": "REJECT_BURN", "last_updated_time": "2024-11-26T21:43:15.000Z", "notary_account_id": null, "notary_org_id": null, "notary_user_id": null, "operation_id": null, "quantity": 2, "timetoexpiration": null, "to_account_id": "", "to_org_id": null, "to_user_id": null, "token_id": "USD", "token_name": null } ], "encode": "JSON" } }
-
getCBDCAccount
- Nome do método original:
getAccount
- Este método GET retorna detalhes da conta de um usuário e token especificados. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
da organização especificada ou oAccountOwner
da conta. - Consulta:
/getCBDCAccount?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON" } }
-
getCBDCAccountBalance
- Nome do método original:
getAccountBalance
- Este método GET retorna o saldo atual de uma conta e token especificados. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
da organização especificada ou oAccountOwner
da conta. /getCBDCAccountBalance?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Current Balance is: 100", "user_balance": 100 }, "encode": "JSON" } }
-
getCBDCAccountsByUser
- Nome do método original:
getAccountsByUser
- Esse método retorna uma lista de todos os IDs de conta para um ID de organização e um ID de usuário especificados. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
da organização especificada ou oAccountOwner
da conta. /getCBDCAccountsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parâmetros:
orgId string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId string
– O nome de usuário ou o ID de e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" } ], "encode": "JSON" } }
-
getCBDCAccountTransactionHistory
- Nome do método original:
getAccountTransactionHistory
- Esse 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 um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
da organização especificada ou oAccountOwner
da conta. /getCBDCAccountTransactionHistory?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
getAccountTransactionHistoryWithFilters
- Nome do método original:
getAccountTransactionHistoryWithFiltersFromRichHistDB
- Este método retorna os detalhes do histórico de transações da conta do banco de dados de histórico avançado. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
da organização especificada ou oAccountOwner
da conta. /getCBDCAccountTransactionHistoryWithFilters?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.customEndpoint
– O ponto final do serviço RESTful do banco de dados de histórico avançado do qual extrair o histórico de transações.bearerToken
– O token a ser usado para chamar o ponto final RESTful para garantir que a solicitação seja autorizada.filters: JSON object
– Um parâmetro opcional. Se estiver vazio, todos os registros serão retornados. A 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.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
getCBDCRetiredQuantity
- Nome do método original:
getBurnQuantity
- Este método GET retorna a quantidade total de tokens gravados para uma organização especificada. Esse método só pode ser chamado por um
Token Admin
,Token Auditor
ou um usuário com a atribuição de gravador. /getCBDCRetiredQuantity?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "burnt_quantity": 31 }, "encode": "JSON" } }
-
getNetCBDCTokens
- Nome do método original:
getNetTokens
- Este método GET retorna o número líquido total de tokens disponíveis no sistema para um token especificado. O total do token líquido é a quantidade de tokens restantes depois que os tokens são queimados. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode, ou umOrg Admin
ouOrg Auditor
. /getNetCBDCTokens?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Net supply of token for Token Id: USD is 878 tokens.", "quantity": 878 }, "encode": "JSON" } }
-
getOnHoldIds
- Nome do método original:
getOnHoldIds
- Este método GET retorna uma lista de todos os IDs suspensos de uma conta especificada. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
da organização especificada ou oAccountOwner
da conta. /getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315", "holding_ids": [ "ohold~cbdc~USD~8e3147", "ohold~cbdc~USD~8e315" ] }, "encode": "JSON" } }
-
getPendingCBDCIssuance
- Nome do método original:
getPendingIssuance
- Este método recupera todas as transações de emissão (transferência) pendentes nas quais 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 um
Token Admin
ouToken Auditor
do chaincode, umOrg Admin
ouOrg Auditor
ou oNotary
. /getPendingCBDCIssuance?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "from_org_id": "CB", "from_user_id": "creator_user_cb", "holding_id": "ohold~cbdc~USD~8e314", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e314", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" }, { "asset_type": "ONHOLD", "category": "category value", "from_account_id": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594", "from_org_id": "CB", "from_user_id": "issuer_user_cb", "holding_id": "ohold~cbdc~USD~8e315", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "notary_org_id": "CB", "notary_user_id": "manager_user_cb", "operation_id": "8e315", "quantity": 10, "timetoexpiration": "0", "to_account_id": "oaccount~44b844deccc6c314e14b8b9b95b51db5c8de499dbdbd3def2a44ba54c899c142", "to_org_id": "FI1", "to_user_id": "officer_user1_fi1", "token_id": "USD", "token_name": "cbdc" } ], "encode": "JSON" } }
-
getPendingCBDCRequest
- Nome do método original:
getPendingRequest
- Este método recupera todas as solicitações pendentes de um tipo especificado em que o chamador é atribuído como aprovador. Esse método só pode ser chamado por um
Token Admin
ouToken Auditor
do chaincode ou peloNotary
. /getPendingCBDCRequest?tokenId={{bc-token-id}}&requestType=request_type value
- Parâmetros:
tokenId: string
– O ID do token.requestType: string
– O tipo da transação. Por exemplo,mint
ouburn
.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "valueJson": { "assetType": "ohold", "holding_id": "ohold~cbdc~USD~op123", "operation_id": "op123", "token_id": "USD", "token_name": "cbdc", "operation_type": "mint", "status": "pending", "from_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_id": "", "notary_account_id": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8", "quantity": 10, "time_to_expiration": "0", "category": "category value", "description": "description value" } } ], "encode": "JSON" } }
-
getTotalBalanceByCallerOrgId
- Nome do método original:
getTotalBalanceByCallerOrgId
- Este método recupera o saldo total da organização do chamador. Esse método só pode ser chamado por um
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
ou qualquer proprietário da conta. /getTotalCBDCBalanceByCallerOrgId
- Parâmetros:
tokenId: string
– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "totalBalance": 704 } ], "encode": "JSON" } }
-
getTotalCreatedCBDCTokens
- Nome do método original:
getTotalMintedTokens
- Este método retorna o número total de tokens cunhados para um token especificado. Esse método só pode ser chamado por
Token Admin
,Token Auditor
,Org Admin
ouOrg Auditor
. - Consulta:
/getTotalCreatedCBDCTokens?tokenId={{bc-token-id}}
- Parâmetros:
tokenId: string
– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Total minted token for Token Id: USD is 910 tokens.", "quantity": 910 }, "encode": "JSON" } }
-
getTransactionWithBlockNumber
- Nome do método original:
getTransactionWithBlockNumber
- Este método GET retorna os detalhes da transação para o ID de transação especificado.
- Consulta:
/getTransactionWithBlockNumber?tokenId={{bc-token-id}}&transactionId=transaction_id value
- Parâmetros:
tokenId: string
– O ID do token.transactionId: string
– O ID da transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "blockNo": 82, "key": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "metadata": null, "txnNo": 0, "value": null, "valueJson": { "assetType": "otransaction", "transaction_id": "otransaction~24f391919a8837d654beaa7346148ea8b2b9704624aef482ce68078c485f5b1b", "token_id": "USD", "from_account_id": "", "from_account_balance": 0, "from_account_onhold_balance": 0, "to_account_id": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "to_account_balance": 100, "to_account_onhold_balance": 0, "transaction_type": "REQUEST_MINT", "amount": 200, "timestamp": "2024-11-20T06:48:42.000Z", "number_of_sub_transactions": 0, "holding_id": "", "sub_transaction": "false", "description": "" } } ], "encode": "JSON" } }
-
getUserByCBDCAccountId
- Nome do método original:
getUserByAccountId
- Esse método retorna detalhes do usuário (
orgId
,userId
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
- Parâmetros:
accountId: string
– O ID da conta.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "token_id": "USD", "user_id": "admin_user_cb", "org_id": "CB" }, "encode": "JSON" } }
-
getUsersByRole
- Nome do método original:
getUsersByRole
- Esse 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 um
Token Admin
ouToken Auditor
do chaincode. - Consulta:
/getUsersByRole?tokenId={{bc-token-id}}&role=role value (for example minter / burner / notary)
- Parâmetros:
tokenId: string
– O ID do token.role: string
– O nome da função a ser pesquisada.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "token_id": "USD", "user_id": "creator_user_cb", "org_id": "CB" }, { "token_id": "USD", "user_id": "cb4", "org_id": "CB" } ] }, "encode": "JSON" } }
-
holdCBDCTokens
- Nome do método original:
holdTokens
- Este método cria uma retenção em nome do proprietário dos tokens com a conta
to_account_id
. Uma conta notarial é especificada, que é responsável por concluir ou liberar a retenção. Quando a retenção é criada, o saldo de token especificado do pagador é colocado em retenção. Um saldo retido não pode ser transferido até que a retenção seja concluída ou liberada. O chamador desse método deve ter uma conta já criada. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.operationId: string
– Um ID exclusivo para identificar a operação de retenção. Normalmente, esse ID é passado pelo aplicativo cliente.toOrgId: string
– O ID do prestador de serviço de associação (MSP) do destinatário na organização atual.toUserId: string
– O nome do usuário ou o ID do e-mail do destinatário.notaryOrgId: string
– O ID do prestador de serviços de associação (MSP) do notário na organização atual.notaryUserId: string
– O nome de usuário ou o ID de e-mail do notário.quantity: number
– O número de tokens a serem colocados em espera.timeToExpiration
– O horário em que a retenção expira. Especifique 0 para uma retenção permanente. Caso contrário, use o formato RFC-3339. Por exemplo, 2021-06-02T12:46:06Z.infoDetails: JSON
– A descrição e a categoria, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062", "payload": { "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 211 } }
-
init
- Nome do método original:
init
- Esse método é chamado quando o chaincode é implantado. As informações do usuário são salvas como
Token Admin
do chaincode. - Payload:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" }
- Parâmetros:
adminList array
– Um array de informações{user_id, org_id}
que especifica a lista de administradores de token. O arrayadminList
é um parâmetro obrigatório.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
initializeCBDCToken
- Nome do método original:
initializeCBDCToken
- Esse método cria um token e inicializa as propriedades do token. O ativo e suas propriedades são salvos no banco de dados de estado. Esse método só pode ser chamado por um
Token Admin
do chaincode. - Payload:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc value\",\"Currency_Name\":\"Currency_Name value\"}", "sameOrgEndorser": true }
- Parâmetros:
tokenAsset: <Token Class>
– O ativo de token é passado como parâmetro para esse método. As propriedades do ativo de token são descritas no arquivo de modelo.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Com êxito, uma representação JSON do ativo de token que foi criado.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8", "payload": { "assetType": "otoken", "events": false, "token_id": "t1", "token_name": "cbdc", "token_desc": "token_desc value", "token_standard": "ttf+", "token_type": "fungible", "token_unit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "holdable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner", "notary_role_name": "notary", "mint_approver_role_name": "notary", "burn_approver_role_name": "notary" }, "mintable": { "max_mint_quantity": 1000, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "currency_name": "currency_name value", "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } }
-
rejectCBDCCreation
- Nome do método original:
rejectMint
- Este método pode ser chamado por um notário mineiro para rejeitar uma solicitação de cunhagem.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parâmetros:
tokenId: string
– O ID do token para rejeitar a cunhagem.operationId: string
– O ID de operação exclusivo que representa a solicitação de mint.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "payload": { "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 205 } }
-
rejectCBDCRetirement
- Nome do método original:
rejectBurn
- Este método pode ser chamado por um notário para rejeitar um pedido de queima.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true }
- Parâmetros:
tokenId: string
– O ID do token a ser rejeitado para gravação.operationId: string
– O ID de operação exclusivo que representa a solicitação de gravação.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "474a08183986c84fe321aa925670539db3b1bc90b02fa65956ad8c771fff5bbe", "payload": { "msg": "Successfully rejected burn request with Operation Id 'burn1234' to burn 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 210 } }
-
rejectHoldCBDCTokens
- Nome do método original:
releaseHoldTokens
- Este método POST libera uma retenção de tokens. A transferência não está 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 atribuiçã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}} }
- Parâmetros:
tokenId: string
– O ID do token.operationId: string
– Um ID exclusivo para identificar a operação de retenção. Normalmente, esse ID é passado pelo aplicativo cliente.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380", "payload": { "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 214 } }
-
removeCBAdmin
- Nome do método original:
removeTokenAdmin
- Este método POST remove um usuário como um
Token Admin
do chaincode. Este método pode ser chamado somente por umToken Admin
do chaincode. Um administrador não pode remover a si mesmo. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739", "payload": { "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 218 } }
-
removeCBAuditor
- Nome do método original:
removeTokenAuditor
- Este método POST remove um usuário como um
Token Auditor
do chaincode. Este método pode ser chamado somente por umToken Admin
do chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b", "payload": { "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 219 } }
-
removeFIAdmin
- Nome do método original:
removeOrgAdmin
- Este método POST remove um usuário como um
Org Admin
do chaincode. Esse método só pode ser chamado por umToken Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597", "payload": { "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 220 } }
-
removeFIAuditor
- Nome do método original:
removeOrgAuditor
- Este método POST remove um usuário como um
Org Auditor
do chaincode. Esse método só pode ser chamado por umToken Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306", "payload": { "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 221 } }
-
removeRole
- Nome do método original:
removeRole
- Esse método remove uma atribuição de um usuário e token especificados. Esse método só pode ser chamado por um
Token Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.role: string
– O nome da atribuição a ser removida do usuário especificado. Os 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.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Retorna:
- Em caso de êxito, uma mensagem com detalhes da conta.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "274f0d0a2c4c3929817fb85b2e857519695c3c238ccf9903b084b87e9be7ee12", "payload": { "msg": "Successfully removed role 'notary' from Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 200 } }
-
requestCBDCCreation
- Nome do método original:
requestMint
- Este método pode ser chamado por um minter para enviar uma solicitação ao notário do minter para criar uma quantidade especificada de tokens.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true }
- Parâmetros:
tokenId: string
– O ID do token a ser cunhado.operationId: string
– O ID de operação exclusivo que representa a solicitação de mint.notaryOrgId: string
– O ID do prestador de serviços de associação (MSP) do notário mineiro que processará a solicitação.notaryUserId: string
– O nome de usuário ou o ID de e-mail do notário mineiro que processará a solicitação.quantity: number
– A quantidade de tokens a serem cunhados.timeToExpiration
– O horário após o qual a solicitação de cunhagem expira e não é mais válida.infoDetails: JSON
– Um objeto que especifica a categoria (category
) e a descrição (description
) da solicitação, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }
sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "payload": { "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 202 } }
-
requestCBDCRetirement
- Nome do método original:
requestBurn
- Este método pode ser chamado por um gravador para enviar uma solicitação ao notário para destruir uma quantidade especificada de tokens.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true }
- Parâmetros:
tokenId: string
– O ID do token a ser gravado.operationId: string
– O ID de operação exclusivo que representa a solicitação de gravação.notaryOrgId: string
– O ID do prestador de serviços de associação (MSP) do notário do gravador que processará a solicitação.notaryUserId: string
– O nome de usuário ou o ID de e-mail do notário do gravador que processará a solicitação.quantity: number
– A quantidade de tokens a serem queimados.timeToExpiration
– O tempo após o qual a solicitação de gravação expira e não é mais válida.infoDetails: JSON
– Um objeto que especifica a categoria (category
) e a descrição (description
) da solicitação, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }
sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "0adb57ca9776c8760468c40465e0f0d37472f0b4b32fd02561ef28b3f7b28cf1", "payload": { "msg": "AccountId oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c (Org-Id: CB , User-Id: retirer_user_cb) has successfully submitted request to burn 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 206 } }
-
setApplicationGroups
- Nome do método original:
setApplicationGroups
- Esse método POST é usado para definir o parâmetro
application_groups
nos detalhes da conta dos grupos de aplicativos especificados. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "applicationGroups": "[\"application_groups value\"]", "endorsers": {{endorsers}} }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.tokenId: string
– O ID do token.applicationGroups: string[]
– Uma lista de grupos de aplicativos aos quais o ID do usuário pertence, definindo as associações do usuário no aplicativo CBDC.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Retorna:
- Em caso de êxito, uma mensagem de êxito com a quantidade de tokens gravados e o ID da conta.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "453821c7ffd477987ef8ccbd836b893969531ab768098cd4a99e3b89cd38a391", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~28ac774001f374064029d51af4fb67e26ea1ea9ef62828b7a72dbf3beb8efd8d", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } }
-
setMaxDailyAmount
- Nome do método original:
setMaxDailyAmount
- Esse método POST é usado para definir o parâmetro
maxDailyAmount
nos detalhes da conta do valor especificado. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.tokenId: string
– O ID do token.maxDailyAmount: number
– O valor máximo diário da conta especificada, que define o valor máximo que pode ser transacionado diariamente.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 222 } }
-
setMaxDailyTransactionCount
- Nome do método original:
setMaxDailyTransactionCount
- Esse método POST é usado para definir o parâmetro
maxDailyTransactions
nos detalhes da conta do valor especificado. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.tokenId: string
– O ID do token.maxDailyTransactions: number
– O valor máximo diário da conta especificada, que define o número máximo de transações permitidas por dia.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Admins" ], "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 223 } }
-
suspendCBDCAccount
- Nome do método original:
suspendAccount
- Este método suspende uma conta de token fungível. Ele gerará um erro se um valor
accountStatus
não for encontrado no razão. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 195 } }
-
transferCBDCTokens
- Nome do método original:
transferTokens
- Este método transfere tokens do chamador para uma conta especificada. O chamador do método deve ter uma conta. A quantidade deve estar dentro dos valores decimais especificados pelo parâmetro
decimal
do comportamentodivisible
no arquivo de especificação. - Payload:
{ "tokenId": "{{bc-token-id}}", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.toOrgId: string
– O ID do prestador de serviço de associação (MSP) do destinatário (favorecido) na organização atual.toUserId: string
– O nome do usuário ou o ID do e-mail do destinatário.quantity: number
– O número de tokens a serem transferidos.infoDetails: JSON
– Um objeto que especifica a categoria (category
) e a descrição (description
) da solicitação, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7", "payload": { "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 224 } }
O pacote de API wrapper também inclui a API createCBDCAccount
, que combina APIs chaincode e APIs de console do Oracle Blockchain Platform em um único ponto final para criação de conta.
-
createCBDCAccount
- Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "applicationGroups": "[\"applicationGroups value\"]", "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary / tokenAdmin / tokenAuditor / orgAdmin / orgAuditor)", "dailyLimits": "{\"max_daily_amount\":1000, \"max_daily_transactions\":100}" }
- Parâmetros de payload:
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 do usuário ou o ID do e-mail do usuário. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).applicationGroups
– Os grupos de aplicativos aos quais a conta pertencerá. Por exemplo,System_Admins
.tokenId
– O ID do token associado à conta. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e os caracteres especiais sublinhado (_) e hífen (-). Não pode exceder 16 caracteres.role
– A atribuiçã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
.
- Exemplo de valor de retorno:
"payload": { "msg": "Account created successfully and 'minter' role added to Account Id: oaccount~4a86f2843c2b0105c97a77202bd9aba519c81dcef27eccc1d89125ae32770700 (Org-Id: CB, User-Id: creator_user_cb)" "accountDetails": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~ce5c56d2068ce31b82136c8eea110a80b9251595d361db70924c4e989032a1be", "user_id": "creator_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "application_groups": [ "System_Creators" ], "max_daily_amount": 1000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-10-06T00:00:00.000Z" } }
A API createCBDCAccount
conclui as operações a seguir em sequência.
- 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 só pode conter caracteres alfanuméricos, hifens (-) e sublinhados (_). Se o ID do usuário contiver outros caracteres especiais, eles serão substituídos por sublinhados (_). 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 inscrição já existir para o ID usuário especificado, outra inscrição 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.
- Designa a atribuição especificada no payload ao usuário.
Para garantir a consistência e evitar dados incompletos, se qualquer uma das etapas subsequentes falhar, o ID de inscrição criado na primeira etapa será excluído.