Pacote de API Wrapper da Estrutura de Token Fungível
O Oracle Blockchain Platform Digital Assets Edition inclui um pacote de API wrapper que estende a API REST para oferecer suporte a operações específicas de um cenário de token de depósito.
O pacote de API 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 da API wrapper de estrutura de token fungível pode ser baixado na console do Oracle Blockchain Platform e inclui os componentes a seguir.
DepositTokenWrapperAPI.zip, um arquivo compactado que contém o pacote de API wrapper, incluindo os scripts Terraform necessários para implantação. Você implanta esse arquivo em uma pilha do Resource Manager no Oracle Cloud Infrastructure (OCI) para criar os recursos necessários da Oracle 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 do Encapsulador
-
registerOrg - Nome do método original:
registerOrg - Este método POST registra uma organização no sistema. Esse método só pode ser chamado por um administrador de token.
- Payload:
{ "orgId": "{{bc-org-id}}", "orgName": "org_name value", "endorsers": {{endorsers}} } - Parâmetros:
orgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.orgName: string– (Opcional) O nome da organização.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "assetType": "oorgregistry", "org_registry_id": "orgregistry", "registered_orgs": [ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] } -
getAllRegisteredOrgs - Nome do método original:
getAllRegisteredOrgs - Este método GET recupera detalhes de todas as organizações registradas. Esse método só pode ser chamado por um administrador de token.
- Consulta:
/getAllRegisteredOrgs - Parâmetros:
- nenhuma
- Exemplo de Valor de Retorno:
[ { "org_id": "Org1MSP", "org_name": "Organisation name" } ] -
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 todas as contas criadas 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Retorna:
- Em caso de sucesso, uma representação JSON do objeto de status da conta do token especificado.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } } -
addTokenAdmin - Nome do método original:
addTokenAdmin - Este método POST adiciona um usuário como um
Token Admindo chaincode. Esse método só pode ser chamado por umToken Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
orgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
Token Admindo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
- 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. Esse método só pode ser chamado por umToken Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
orgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
Token Auditordo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
- 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 umaToken Admindo chaincode ou por umaOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
orgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
Org Admindo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
- 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 umOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
orgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
Org Auditordo chaincode.
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "44bbad35a1478cb714e32f7cfd551897868a203520aab9cea5771d3aadc1cf03", "payload": { "msg": "Successfully added Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 198 } } -
addRole - Nome do método original:
addRole - Este método adiciona a atribuição ao usuário e token especificados.
- Payload:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parâmetros:
tokenId: string– O ID do token.role: string– O nome da função a ser adicionada ao usuário especificado.orgId: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.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 - Notários podem chamar este método POST para aprovar uma solicitação de hortelã.
- Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "sameOrgEndorser": true } - Parâmetros:
tokenId: string– O ID do token.operationId: string– O ID de operação exclusivo da solicitação de mint a ser aprovada.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "payload": { "msg": "Successfully minted 10 tokens to Account Id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 204 } } -
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 espera 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 será disponibilizado 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 de notário. Caso contrário, qualquer chamador com uma conta pode funcionar como um notário. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} } - Parâmetros:
tokenId: string– O ID do token.operationId: string– O ID de operação exclusivo da solicitação de mint a ser aprovada.quantity: number– O número de tokens retidos a serem transferidos.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a", "payload": { "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } } -
associateTokenToAccount - Nome do método original:
associateTokenToAccount - Este método POST associa um ID de conta especificado a um token especificado. 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 - Este método cria uma conta para um usuário e token especificados. É necessário criar uma conta para qualquer usuário que tenha tokens a qualquer momento. Os IDs da 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 uma
Token Admindo chaincode ou pelaOrg 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 de usuário ou ID de e-mail do usuário. O ID deve começar com um caractere alfanumérico e pode incluir letras, números e caracteres especiais, como sublinhados (_), pontos (.), sinais (@) e hifens (-).tokenType: TokenType– O tipo de token, que deve serfungible.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é a quantidade máxima de tokens que podem ser transacionados diariamente e o valormax_daily_transactionsé o número máximo de transações que podem ser concluídas diariamente.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- 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 para 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Current Balance is: 100", "user_balance": 100 }, "encode": "JSON" } } -
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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "", "token_name": "", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } } -
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 do 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.customEndpoint– O ponto final do serviço RESTful do banco de dados de histórico avançado do qual extrair o histórico de transações.bearerToken– O token a ser usado para chamar o ponto final RESTful para garantir que a solicitação seja autorizada.filters: 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 de tokens líquidos é a quantidade de tokens restantes após os tokens serem gravados. Esse método só pode ser chamado por um
Token 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 para um usuário e token especificados. Esse método só pode ser chamado por uma
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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315", "holding_ids": [ "ohold~cbdc~USD~8e3147", "ohold~cbdc~USD~8e315" ] }, "encode": "JSON" } } -
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 uma
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 pelo
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 - Este método 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. /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 - Esse método cria uma retenção em nome do proprietário dos tokens com a conta
to_account_id. Uma conta do notário é especificada, que é responsável por concluir ou liberar a retenção. Quando a retenção é criada, o saldo de token especificado do pagador é colocado em retenção. Um saldo retido não pode ser transferido até que a retenção seja concluída ou liberada. O chamador desse método deve ter uma conta já criada. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "notaryOrgId": "notary_org_id value", "notaryUserId": "notary_user_id value", "quantity": 1, "timeToExpiration": "time_to_expiration value", "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} } - Parâmetros:
tokenId: string– O ID do token.operationId: string– Um ID exclusivo para identificar a operação de retenção. Geralmente, esse ID é passado pelo aplicativo cliente.toOrgId: string– O ID do provedor de serviços de associação (MSP) do destinatário na organização atual.toUserId: string– O nome de usuário ou ID de e-mail do destinatário.notaryOrgId: string– O ID do notário do provedor de serviços de associação (MSP) na organização atual.notaryUserId: string– O nome de usuário ou ID de e-mail do notário.quantity: number– O número de tokens a serem colocados em espera.timeToExpiration– O horário em que a retenção expira. Especifique 0 para uma retenção permanente. Caso contrário, use o formato RFC-3339. Por exemplo, 2021-06-02T12:46:06Z.infoDetails: JSON– A descrição e a categoria, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e575d339299bb98afe83207e749cd07654f209673c84c6973738b6094da33062", "payload": { "msg": "AccountId oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB , User-Id: issuer_user_cb) is successfully holding 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 211 } } -
init - Nome do método original:
init - Este método é chamado quando o chaincode é implantado. As informações do usuário são salvas como o
Token Admindo chaincode. - Payload:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" } - Parâmetros:
adminList array– Um array de informações do{user_id, org_id}que especifica a lista de administradores de token. O 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:
- No caso de sucesso, uma representação JSON do ativo de token que foi criado.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "aa7a4f4cc214e1a041a5a6fb7ca7530f08256559e538c9f9582e6fd12c9e65c8", "payload": { "assetType": "otoken", "events": false, "token_id": "t1", "token_name": "cbdc", "token_desc": "token_desc value", "token_standard": "ttf+", "token_type": "fungible", "token_unit": "fractional", "behaviors": [ "divisible", "mintable", "transferable", "burnable", "holdable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner", "notary_role_name": "notary", "mint_approver_role_name": "notary", "burn_approver_role_name": "notary" }, "mintable": { "max_mint_quantity": 1000, "mint_approval_required": true }, "burnable": { "burn_approval_required": true }, "divisible": { "decimal": 2 }, "token_to_currency_ratio": 999 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 267 } } -
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 hortelã.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "payload": { "msg": "Successfully rejected mint request with Operation Id 'op1234' to mint 10 tokens of token id USD" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 205 } } -
releaseHoldTokens - Nome do método original:
releaseHoldTokens - Este método POST libera uma retenção de tokens. A transferência não foi concluída e todos os tokens retidos estão disponíveis novamente para o proprietário original.
- 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. Geralmente, esse ID é passado pelo aplicativo cliente.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "f04ba8895d52bc636d843f88476002bc99d01480c36be87c8fa259cd47a29380", "payload": { "msg": "Successfully released '10' tokens from Operation Id '8e3144' to Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb)." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 214 } } -
removeTokenAdmin - Nome do método original:
removeTokenAdmin - Este método POST remove um usuário como um
Token Admindo chaincode. Esse método só pode ser chamado 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 provedor de serviços de associação (MSP) do usuário na organização atual.user_id: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "6a3b9b568d04b5beb29830f91efe4e8c6310b6cf36940cecfb4ab690fbfde739", "payload": { "msg": "Successfully removed Token Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 218 } } -
removeTokenAuditor - Nome do método original:
removeTokenAuditor - Este método POST remove um usuário como um
Token Auditordo chaincode. Esse método só pode ser chamado por umToken Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.user_id: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "a886a6040fbc76374a3c78c89ab0ffc9f7b8391cc5239b169bf3b878cf40c67b", "payload": { "msg": "Successfully removed Token Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 219 } } -
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 umaToken AdminouOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.user_id: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e2a634f6093f89b1984e20ff86a513fabb7c3ade7cc9e27d9734b4aaf6c88597", "payload": { "msg": "Successfully removed Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 220 } } -
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 umaToken AdminouOrg Adminda organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true } - Parâmetros:
org_id: string– O ID do provedor de serviços de associação (MSP) do usuário na organização atual.user_id: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c3bc720461004a53b37c68d4bb264858b88d980bc093a0a3ebb62a32974fb306", "payload": { "msg": "Successfully removed Org Auditor (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 221 } } -
removeRole - Nome do método original:
removeRole - Este método remove uma atribuição de um usuário especificado. Esse método só pode ser chamado por um
Token Admindo chaincode ou 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 para mint.operationId: string– O ID de operação exclusivo que representa a solicitação de hortelã.notaryOrgId: string– O ID do MSP (Membership Service Provider) do notário do mineiro que processará a solicitação.notaryUserId: string– O nome de usuário ou o ID de email do notário do mineiro que processará a solicitação.quantity: number– A quantidade de tokens para hortelã.timeToExpiration– O tempo após o qual a solicitação de cunhagem expira e não é mais válida.infoDetails: JSON– Um objeto que especifica a categoria (category) e a descrição (description) da solicitação, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "payload": { "msg": "AccountId oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB , User-Id: creator_user_cb) has successfully submitted request to mint 10 tokens" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 202 } } -
burnTokens - Nome do método original:
burnTokens - Este método POST desativa ou grava tokens da conta do chamador da transação. O chamador desse método deve ter uma conta e o papel de queimador. 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 funçã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 sucesso, uma mensagem de sucesso com a quantidade de tokens gravados e o ID da conta.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 - Este método POST é usado para definir o parâmetro
maxDailyAmountnos detalhes da conta para o valor especificado. Esse método só pode ser chamado por umaToken Admindo chaincode ou por umaOrg 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.tokenId: string– O ID do token.maxDailyAmount: number– O valor máximo diário da conta especificada, que define o valor máximo que pode ser transacionado diariamente.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 222 } } -
setMaxDailyTransactionCount - Nome do método original:
setMaxDailyTransactionCount - Este método POST é usado para definir o parâmetro
maxDailyTransactionsnos detalhes da conta para o valor especificado. Esse método só pode ser chamado por umaToken Admindo chaincode ou por umaOrg 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.tokenId: string– O ID do token.maxDailyTransactions: number– O valor máximo diário da conta especificada, que define o número máximo de transações permitidas por dia.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "onhold_burn_balance": 0, "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 umaToken Admindo chaincode ou por umaOrg 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 195 } } -
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 provedor de serviços de associação (MSP) do destinatário (favorecido) na organização atual.toUserId: string– O nome de usuário ou ID de e-mail do destinatário.quantity: number– O número de tokens a serem transferidos.infoDetails: JSON– Um objeto que especifica a categoria (category) e a descrição (description) da solicitação, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }endorsers: string[]– Um array dos pares (por exemplo,peer1,peer2) que deve endossar a transação.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7", "payload": { "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 224 } } -
initializeExchangePoolUser - Nome do método original:
initializeExchangePoolUser - Este método inicializa o usuário do pool de intercâmbio, que é uma atividade única. Esse 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "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 de pool de câmbio para um determinado array de IDs de token. Esse método só pode ser chamado 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 do token pode ser especificada com até oito casas decimais. Esse método só pode ser chamado 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 será feita a conversão.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 para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Esse método só pode ser chamado 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 será feita a conversão.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 - Este método cunha tokens na conta do chamador com base no ID e na quantidade do token especificados. Uma porcentagem de tokens da quantidade cunhada é então 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 para mint.tokenQuantity: number– O número total de tokens para hortelã.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 - Esse 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 será feita a conversão.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 pelo
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 será feita a conversão.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
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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~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" } } -
getExchangePoolUser - Nome do método original:
getExchangePoolUser - Este método GET retorna o ID organização e os valores de ID usuário para o usuário do pool de intercâmbio. Esse método só pode ser chamado por uma
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 em retenção para uma conta e um token especificados. Esse método só pode ser chamado por uma
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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg":"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 de 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 provedor de serviços de associação (MSP) do usuário na organização atual.userId: string– O nome de usuário ou ID de e-mail do usuário.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "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 conta para uma função especificada. Esse método só pode ser chamado 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" } }