Pacote de API do Wrapper do Token Fungível
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 de um cenário de token de depósito.
O pacote de API do wrapper usa o serviço API Gateway e o OCI Functions para implantar rotas de API projetadas especificamente para o aplicativo de token de depósito. O pacote de API do wrapper de estrutura de token fungível pode ser transferido por download na console do Oracle Blockchain Platform e inclui os componentes a seguir.
DepositTokenWrapperAPI.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 (Oracle Cloud Infrastructure) para criar os recursos Oracle necessários para as APIs do Wrapper.DepositToken_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
-
activateAccount - 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 Adminou peloOrg Adminda organização especificada. Para qualquer conta criada antes da funcionalidade de status da conta, você deve chamar esse método para ver o status da conta como ativo. - 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 } } -
addTokenAdmin - Nome do método original:
addTokenAdmin - Este método POST adiciona um usuário como um
Token Admindo chaincode. Este método pode ser chamado somente por umToken Admindo 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.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
Token Admindo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
- 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 } } -
addTokenAuditor - Este método POST adiciona um usuário como um
Token Auditordo chaincode. Este método pode ser chamado somente por umToken Admindo 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.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
Token Auditordo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
- 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 } } -
addOrgAdmin - Nome do método original:
addOrgAdmin - Este método POST adiciona um usuário como um
Token Admindo chaincode. Esse método só pode ser chamado por umToken Admindo chaincode ou por umOrg Adminda 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.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
Org Admindo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
- 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 } } -
addOrgAuditor - Este método POST adiciona um usuário como um
Org Auditordo chaincode. Esse método só pode ser chamado por umToken Admindo chaincode ou por umOrg Adminda 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.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
Org Auditordo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
- 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.
- 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.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": "29ea766dee8e6d273eba3c40a9fea75a1aa85dc3c280d40695f6224c5c52d93c", "payload": { "msg": "Successfully added role 'notary' to Account Id: oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8 (Org-Id: CB, User-Id: manager_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 201 } } -
approveMint - 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 } } -
executeHoldTokens - Nome do método original:
executeHoldTokens - Os notários chamam esse método para aprovar uma retenção de tokens. A quantidade de tokens colocados em retenção anteriormente pelo proprietário do token agora é transferida para o destinatário. Se o valor
quantityfor menor que o valor de retenção real, o valor restante estará disponível novamente para o proprietário do token. Se o comportamentorolesfor especificado na seçãobehaviorsdo modelo de token e o valornotary_role_namefor 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. Ele pode ser chamado por um
Token AdminouOrg Admin. - 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, "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. Os IDs de conta são formados pela concatenação do tipo de ativo e do ID do token e, em seguida, pela criação de um hash SHA-256 sobre uma concatenação do ID da organização e do ID do usuário. Esse método só pode ser chamado por um
Token Admindo chaincode ou peloOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "fungible", "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.daily_limits: DailyLimits– 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, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 188 } } -
getAccount - Nome do método original:
getAccount - Este método retorna detalhes da conta de um usuário especificado. Esse método só pode ser chamado por um
Token Admindo chaincode ou peloAccount Ownerda conta. - Consulta:
/getAccount?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, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON" } } -
getAccountBalance - 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 Adminou peloAccountOwnerda conta. /getAccountBalance?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" } } -
getAccountsByUser - Nome do método original:
getAccountsByUser - Este método retorna uma lista de todas as contas de um usuário especificado. Esse método só pode ser chamado por um
Token Admindo chaincode ou peloAccount Ownerda conta. - Consulta:
/getAccountsByUser?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, "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, "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, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 100, "daily_transactions": 0, "current_date": "2024-12-09T00:00:00.000Z" } ], "encode": "JSON" } } -
getAccountTransactionHistory - Nome do método original:
getAccountTransactionHistory - Este método GET retorna o histórico de transações da conta. Esse método só pode ser chamado por um
Token Admindo chaincode ou pelo proprietário da conta. /getAccountTransactionHistory?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" } } -
getAccountTransactionHistoryWithFiltersFromRichHistDB - 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 Adminou peloAccountOwnerda conta. Para poder usar esse método, execute o Oracle Autonomous Database com o Oracle REST Data Services (ORDS) e o OAuth ativado, conforme descrito em Oracle Database View Definitions for Wholesale CBDC. /getAccountTransactionHistoryWithFiltersFromRichHistDB?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}&customEndpoint=custom_endpoint value&bearerToken=bearer_token value&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}- Parâmetros:
tokenId: string– 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: string– Um parâmetro opcional. Se estiver vazio, todos os registros serão retornados. A propriedadePageSizedetermina o número de registros a serem retornados. SePageSizefor 0, o tamanho padrão da página será 20. A propriedadeBookmarkdetermina o índice inicial dos registros a serem retornados. As propriedadesStartTimeeEndTimedevem 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" } } -
getNetTokens - 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 Admindo chaincode ou por umOrg Adminda organização especificada. /getNetCBDCTokens?tokenId={{bc-token-id}}- Parâmetros:
tokenId: string– O ID do token.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Net supply of token for Token Id: USD is 878 tokens.", "quantity": 878 }, "encode": "JSON" } } -
getOnHoldIds - Nome do método original:
getOnHoldIds - Este método GET retorna uma lista de todos os IDs de retenção de um usuário e token especificados. Esse método só pode ser chamado por
Token Admin,Org AdminouAccountOwnerda 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" } } -
getTotalMintedTokens - Nome do método original:
getTotalMintedTokens - Este método GET retorna o número total de tokens cunhados para um token especificado. Esse método só pode ser chamado por um
Token AdminouOrg Admin. - Consulta:
/getTotalMintedTokens?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" } } -
getUserByAccountId - Nome do método original:
getUserByAccountId - Este método GET retorna os detalhes do usuário de uma conta especificada. Esse método pode ser chamado por
Token Admin,Token AuditorouOrg Auditor. - Consulta:
/getUserByAccountId?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 retorna uma lista de todos os usuários para uma atribuição e um token especificados. Este método só pode ser chamado por um
Token Admin. /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" } } -
holdTokens - 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 Admindo 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 } } -
initializeDepositToken - Nome do método original:
initializeDepositToken - 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 Admindo chaincode. - Payload:
{ "tokenAsset": "{\"token_id\":\"{{bc-token-id}}\",\"token_desc\":\"token_desc 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 }, "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } } -
getAccountHistory - Nome do método original:
getAccountHistory - Este método GET retorna detalhes do histórico da conta de um usuário e token especificados.
- Consulta:
/getAccountHistory?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": [ { "trxId":"2gsdh17fff222467e5667be042e33ce18e804b3e065cca15de306f837e416d7c3e", "timeStamp":1629718288, "value":{ "assetType":"oaccount", "account_id":"oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f", "user_id":"user1", "org_id":"Org1MSP", "token_id":"digiCurr101", "token_name":"digicur", "balance":100, "onhold_balance":0, "bapAccountVersion": 1 }, { "trxId":"9fd07fff222467e5667be042e33ce18e804b3e065cca15de306f837e416d7c3e", "timeStamp":1629718288, "value":{ "assetType":"oaccount", "account_id":"oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f", "user_id":"user1", "org_id":"Org1MSP", "token_id":"digiCurr101", "token_name":"digicur", "balance":0, "onhold_balance":0, "bapAccountVersion": 0 } } ], "encode": "JSON" } } -
rejectMint - Nome do método original:
rejectMint - Este método pode ser chamado por um notário para rejeitar uma solicitação de cunhagem.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parâmetros:
token_id: string– O ID do token para rejeitar a cunhagem.operation_id: 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 } } -
releaseHoldTokens - 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.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "endorsers": {{endorsers}} } - Parâmetros:
token_id: string– O ID do token.operation_id: 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 } } -
removeTokenAdmin - Nome do método original:
removeTokenAdmin - Este método POST remove um usuário como um
Token Admindo chaincode. Este método pode ser chamado somente por umToken Admindo chaincode. Um administrador não pode remover a si mesmo. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.user_id: string– O nome do usuário ou o ID do 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 } } -
removeTokenAuditor - Nome do método original:
removeTokenAuditor - Este método POST remove um usuário como um
Token Auditordo chaincode. Este método pode ser chamado somente por umToken Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.user_id: string– O nome do usuário ou o ID do 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 } } -
removeOrgAdmin - Nome do método original:
removeOrgAdmin - Este método POST remove um usuário como um
Org Admindo chaincode. Esse método só pode ser chamado por umToken AdminouOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.user_id: string– O nome do usuário ou o ID do 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 } } -
removeOrgAuditor - Nome do método original:
removeOrgAuditor - Este método POST remove um usuário como um
Org Auditordo chaincode. Esse método só pode ser chamado por umToken AdminouOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.user_id: string– O nome do usuário ou o ID do e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306", "payload": { "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 221 } } -
removeRole - Nome do método original:
removeRole - Este método remove uma atribuição de um usuário especificado. Esse método só pode ser chamado por um
Token Admindo chaincode ou por umOrg Adminda 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 comportamentosmintableeburnablecorrespondem às propriedadesminter_role_nameeburner_role_namedo 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.
- 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 } } -
requestMint - Nome do método original:
requestMint - Este método pode ser chamado por um mineiro para enviar uma solicitação ao notário 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 } } -
burnTokens - Nome do método original:
burnTokens - Este método POST desativa ou queima tokens da conta do chamador da transação. O chamador desse método deve ter uma conta e a função de gravador. A quantidade deve estar dentro dos valores decimais especificados pelo parâmetro
decimaldo comportamentodivisibleno arquivo de especificação. Esse método pode ser chamado peloAccountOwnerda conta com a atribuição de gravador. - Payload:
{ "tokenId": "{{bc-token-id}}", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "sameOrgEndorser": true } - Parâmetros:
tokenId: string– O ID do token.quantity– O número de tokens a serem gravados.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.
- 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": "aff0b2dbb163ec8076747525db81fbe8f678ac88a277c5f234337f0747eb1a8d", "payload": { "msg": "Successfully burned 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 96 } } -
setMaxDailyAmount - Nome do método original:
setMaxDailyAmount - Esse método POST é usado para definir o parâmetro
maxDailyAmountnos detalhes da conta do valor especificado. Esse método só pode ser chamado por umToken Admindo chaincode ou por umOrg Adminda 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, "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
maxDailyTransactionsnos detalhes da conta do valor especificado. Esse método só pode ser chamado por umToken Admindo chaincode ou por umOrg Adminda 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, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 223 } } -
suspendAccount - Nome do método original:
suspendAccount - Este método suspende uma conta de token fungível. Ele gerará um erro se um valor
accountStatusnão for encontrado no razão. Esse método só pode ser chamado por umToken Admindo chaincode ou por umOrg Adminda 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 } } -
transferTokens - 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
decimaldo comportamentodivisibleno 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 } } -
initializeExchangePoolUser - Nome do método original:
initializeExchangePoolUser - Esse método inicializa o usuário do pool de intercâmbio, que é uma atividade única. Este método só pode ser chamado pelo
Token Admin. - 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": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversion", "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b", "org_id": "Org1MSP", "user_id": "exchangepooluser" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 196 } } -
createExchangePoolAccounts - Nome do método original:
createExchangePoolAccounts - Este método cria contas de token do pool de intercâmbio para uma determinada matriz de IDs de token. Este método pode ser chamado somente por um
Token Admindo chaincode. - Payload:
{ "tokenIds": "[{{bc-token-id}}]", "sameOrgEndorser": true } - Parâmetros:
token_ids: string []– Um array de IDs de token.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": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": [ { "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034", "token_id": "USD", "status": "created" }, { "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0", "token_id": "INR", "status": "created" } ], "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } } -
addConversionRate - Nome do método original:
addConversionRate - Este método adiciona uma taxa de conversão para um par de tokens. A taxa de conversão de token pode ser especificada com até oito casas decimais. Este método pode ser chamado somente por um
Token Admindo chaincode. - Payload:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 10, "sameOrgEndorser": true } - Parâmetros:
fromTokenId: string– O ID do token do qual converter.toTokenId: string– O ID do token para o qual converter.tokenConversionRate: number– A taxa na qual o tokenfromTokenIdserá convertido para o tokentoTokenId.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": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 10 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 189 } } -
updateConversionRate - Nome do método original:
updateConversionRate - Este método atualiza a taxa de conversão atual de um par de tokens. A taxa de conversão de token pode ser especificada com até oito casas decimais. Este método pode ser chamado somente por um
Token Admindo chaincode. - Payload:
{ "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "tokenConversionRate": 20, "sameOrgEndorser": true } - Parâmetros:
fromTokenId: string– O ID do token do qual converter.toTokenId: string– O ID do token para o qual converter.tokenConversionRate: number– A taxa na qual o tokenfromTokenIdserá convertido para o tokentoTokenId.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": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 208 } } -
mintWithFundingExchangePool - Nome do método original:
mintWithFundingExchangePool - Esse método gera tokens na conta do chamador com base no ID e na quantidade do token especificados. Uma porcentagem de tokens da quantidade cunhada é transferida para a conta de token do pool de câmbio.
{ "tokenId": "{{bc-token-id}}", "tokenQuantity": 100, "percentageTokenToExchangePool": 20, "sameOrgEndorser": true }- Parâmetros:
tokenId: string– O ID do token a ser cunhado.tokenQuantity: number– O número total de tokens a serem cunhados.percentageTokenToExchangePool: number– A porcentagem de tokens cunhados a serem transferidos para a conta de token do pool de câmbio.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": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) " }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 209 } } -
tokenConversion - Nome do método original:
tokenConversion - Este método converte tokens da conta do chamador para a conta especificada pelos valores
to_token_id,to_org_ideto_user_id. Esse método pode ser chamado peloToken Admindo chaincode e por qualquer proprietário de conta de token. Um usuário do pool de intercâmbio não pode chamar este método. { "fromTokenId": "from_token_id value", "toTokenId": "to_token_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "tokenQuantity": 5, "endorsers": {{endorsers}} }- Parâmetros:
fromTokenId: string– O ID do token do qual converter.toTokenId: string– O ID do token para o qual converter.toOrgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual para receber os tokens.toUserId: string– O nome de usuário ou o ID de e-mail do usuário para receber os tokens.tokenQuantity: number– O número total de tokens 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": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } } -
getConversionRate - Nome do método original:
getConversionRate - Este método GET obtém a taxa de conversão atual para um par de tokens. Esse método pode ser chamado por
Token Admin,Token Auditor,Org AdminouOrg Auditor. - Consulta:
/getConversionRate?fromTokenId=from_token_id value&toTokenId=to_token_id value - Parâmetros:
fromTokenId: string– O ID do token do qual converter.toTokenId: string– O ID do token para o qual converter.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 }, "encode": "JSON" } } -
getConversionHistory - Nome do método original:
getConversionRate - Este método GET retorna o histórico de conversão de token para uma conta de token especificada. Esse método pode ser chamado pelo proprietário da conta de token
Token Admin,Token Auditor,Org Admin,Org Auditorou pelo proprietário da conta de token. - Consulta:
/getConversionHistory?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~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf", "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb", "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e", "transacted_amount": 5, "converted_amount": 100, "conversion_rate": "20", "from_token_id": "USD", "to_token_id": "INR", "balance": 75, "onhold_balance": 0, "timestamp": "2022-11-30T11:03:20.000Z", "transaction_type": "TOKEN_CONVERSION_DEBIT" } ], "encode": "JSON" } } -
getConversionRateHistory - Nome do método original:
getConversionRate - Este método retorna o histórico da taxa de conversão de token para um par de tokens. Esse método pode ser chamado por
Token Admin,Token Auditor,Org Admin,Org Auditore por qualquer proprietário de conta de token. /getConversionRateHistory?fromTokenId=from_token_id value&toTokenId=to_token_id value- Parâmetros:
fromTokenId: string– O ID do token do qual converter, com a finalidade de calcular a taxa de conversão.toTokenId: string– O ID do token para o qual converter, com a finalidade de calcular a taxa de conversão.
- Retorna:
- Em caso de sucesso, um objeto JSON com detalhes do histórico de taxa de conversão.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521", "timeStamp": "2022-11-30T10:23:38.000Z", "value": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 20 } }, { "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c", "timeStamp": "2022-11-30T10:13:18.000Z", "value": { "assetType": "oconversionRate", "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b", "from_token_id": "USD", "to_token_id": "INR", "conversion_rate": 10 } } ], "encode": "JSON" } } -
getExchangePoolUser - Nome do método original:
getExchangePoolUser - Este método GET retorna os valores de ID organização e ID usuário para o usuário do pool de intercâmbio. Esse método só pode ser chamado por um
Token AdminouToken Auditordo chaincode. - Consulta:
/getExchangePoolUser - Parâmetros:
- nenhuma
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oconversion", "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b", "org_id": "Org1MSP", "user_id": "exchangepooluser" }, "encode": "JSON" } } -
getAccountOnHoldBalance - Nome do método original:
getAccountOnHoldBalance - Este método GET retorna o saldo atual retido de uma conta e token especificados. Esse método só pode ser chamado por
Token Admin,Token Auditor,Org Admin,Org AuditorouAccountOwnerda conta. - Consulta:
/getAccountOnHoldBalance?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":"Total Holding Balance is: 0","holding_balance":0 }, "encode": "JSON" } } -
getAccountStatus - Nome do método original:
getAccountStatus - Este método GET recupera o status atual da conta de token. Esse método pode ser chamado pelo
Token Admin,Token Auditor,Org Admin,Org Auditorou pelo proprietário da conta do token. - Consulta:
/getAccountStatus?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 do usuário ou o ID do e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } } -
getAccountsByRole - Nome do método original:
getAccountsByRole - Esse método retorna uma lista de todos os IDs de contas para uma função especificada. Este método pode ser chamado somente por um
Token Admindo chaincode. - Consulta:
/getAccountsByRole?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": { "accounts":["oaccount~digicur~b4f45440aa2a7942db64443d047027e9d714d62cba5c3d546d64f368642f622f"] }, "encode": "JSON" } }