- Edição de Ativos Digitais do Oracle Blockchain Platform
- Estruturas de Token Genérico
- Estrutura de Token Fungível
- Pacote de API do Wrapper do Token Fungível
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 implantado. A coleção 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 Admin
ou peloOrg Admin
da 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 Admin
do chaincode. Este método pode ser chamado somente por umToken Admin
do chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
Token Admin
do 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 Auditor
do chaincode. Este método pode ser chamado somente por umToken Admin
do chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.sameOrgEndorser: boolean
– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Retorna:
- Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um
Token Auditor
do 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 Admin
do chaincode. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "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 Admin
do 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 Auditor
do chaincode. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "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 Auditor
do 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
quantity
for menor que o valor de retenção real, o valor restante estará disponível novamente para o proprietário do token. Se o comportamentoroles
for especificado na seçãobehaviors
do modelo de token e o valornotary_role_name
for definido, a conta do chamador deverá ter a atribuição notário. Caso contrário, qualquer chamador com uma conta pode funcionar como notário. - Payload:
{ "tokenId": "{{bc-token-id}}", "operationId": "operation_id value", "quantity": 1, "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.operationId: string
– O ID de operação exclusivo da solicitação de mint a ser aprovada.quantity: number
– O número de tokens retidos a serem transferidos.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "c1149aaa486abc4931d9024c18dfcb230bb321723d1160b0bf981c0011c4856a", "payload": { "msg": "Account Id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb) is successfully executed '10' tokens from Operation Id '8e3145'." }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 213 } }
-
associateTokenToAccount
- Nome do método original:
associateTokenToAccount
- Este método POST associa um ID de conta especificado a um token especificado. Ele pode ser chamado por um
Token Admin
ouOrg 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, "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 Admin
do chaincode ou peloOrg Admin
da 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, "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 Admin
do chaincode ou peloAccount Owner
da 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, "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 Admin
ou peloAccountOwner
da 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 Admin
do chaincode ou peloAccount Owner
da 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, "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, "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, "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 Admin
do 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 Admin
ou peloAccountOwner
da 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 propriedadePageSize
determina o número de registros a serem retornados. SePageSize
for 0, o tamanho padrão da página será 20. A propriedadeBookmark
determina o índice inicial dos registros a serem retornados. As propriedadesStartTime
eEndTime
devem ser especificadas no formato RFC-3339.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transaction_id": "otransaction~64c5a4830949eae1424600f3d4a438c6f603a7c3ea31a68e374b899803999e22", "transacted_amount": 10, "timestamp": "2024-12-11T13:37:28.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REJECT_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~a4537ef34a955b023b7c205b9abf06a6c79e4fdd761fb24f41b8eb34126b66c0", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:32.000Z", "balance": 550, "onhold_balance": 10, "token_id": "USD", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "APPROVE_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~6237a759422bd9fb112742e8cd7e6450df5a74a32236d9b1005571afed8904a4", "transacted_amount": 10, "timestamp": "2024-12-11T13:36:18.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" }, { "transaction_id": "otransaction~06b35071415d74aa1a7c18449149c937d886cae76a832c44cf8d98e84586e76e", "transacted_amount": 10, "timestamp": "2024-12-11T13:35:46.000Z", "balance": 540, "onhold_balance": 10, "token_id": "USD", "category": "category value", "description": "description value", "transacted_account": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0", "transaction_type": "REQUEST_MINT", "transacted_org_id": "CB", "transacted_user_id'": "creator_user_cb" } ], "encode": "JSON" } }
-
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 Admin
do chaincode ou por umOrg Admin
da 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 Admin
ouAccountOwner
da conta. /getOnHoldIds?tokenId={{bc-token-id}}&orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "msg": "Holding Ids are: ohold~cbdc~USD~8e3147,ohold~cbdc~USD~8e315", "holding_ids": [ "ohold~cbdc~USD~8e3147", "ohold~cbdc~USD~8e315" ] }, "encode": "JSON" } }
-
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 Admin
ouOrg 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 Auditor
ouOrg 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 Admin
do chaincode. - Payload:
{ "adminList": "[{\"org_id\":\"{{bc-org-id}}\",\"user_id\":\"{{bc-admin-user}}\"}]" }
- Parâmetros:
adminList array
– Um array de informações{user_id, org_id}
que especifica a lista de administradores de token. O arrayadminList
é um parâmetro obrigatório.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
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 Admin
do 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 Admin
do chaincode. Este método pode ser chamado somente por umToken Admin
do chaincode. Um administrador não pode remover a si mesmo. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
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 Auditor
do chaincode. Este método pode ser chamado somente por umToken Admin
do chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
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 Admin
do chaincode. Esse método só pode ser chamado por umToken Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
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 Auditor
do chaincode. Esse método só pode ser chamado por umToken Admin
ouOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- Parâmetros:
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 Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "tokenId": "{{bc-token-id}}", "role": "role value (for example minter / burner / notary)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.role: string
– O nome da atribuição a ser removida do usuário especificado. Os comportamentosmintable
eburnable
correspondem às propriedadesminter_role_name
eburner_role_name
do arquivo de especificação.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
decimal
do comportamentodivisible
no arquivo de especificação. Esse método pode ser chamado peloAccountOwner
da 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
maxDailyAmount
nos detalhes da conta do valor especificado. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyAmount": 1, "endorsers": {{endorsers}} }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.tokenId: string
– O ID do token.maxDailyAmount: number
– O valor máximo diário da conta especificada, que define o valor máximo que pode ser transacionado diariamente.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "28682e0564e4721b6c1a8ec106f8c5c98319e9439959dbb9f83d8e6f111d9975", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "max_daily_amount": 10000, "daily_amount": 0, "max_daily_transactions": 1000, "daily_transactions": 0, "current_date": "2024-11-20T00:00:00.000Z" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20010", "blockNumber": 222 } }
-
setMaxDailyTransactionCount
- Nome do método original:
setMaxDailyTransactionCount
- Esse método POST é usado para definir o parâmetro
maxDailyTransactions
nos detalhes da conta do valor especificado. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenId": "{{bc-token-id}}", "maxDailyTransactions": 1, "endorsers": {{endorsers}} }
- Parâmetros:
orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.tokenId: string
– O ID do token.maxDailyTransactions: number
– O valor máximo diário da conta especificada, que define o número máximo de transações permitidas por dia.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "8b6fb01de697562ee098110054f05d4a314933bd11ef471991cb43e25b68bad9", "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "account_id": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe", "user_id": "admin_user_cb", "org_id": "CB", "token_type": "fungible", "token_id": "USD", "token_name": "cbdc", "balance": 0, "onhold_balance": 0, "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
accountStatus
não for encontrado no razão. Esse método só pode ser chamado por umToken Admin
do chaincode ou por umOrg Admin
da organização especificada. - Payload:
{ "tokenId": "{{bc-token-id}}", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.orgId: string
– O ID do prestador de serviço de associação (MSP) do usuário na organização atual.userId: string
– O nome de usuário ou o ID de e-mail do usuário.endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "e21d91d98091df77f90105d84074c0b802b01fc97a6b1304247774397fed1294", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 195 } }
-
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
decimal
do comportamentodivisible
no arquivo de especificação. - Payload:
{ "tokenId": "{{bc-token-id}}", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "quantity": 1, "infoDetails": "{\"category\":\"category value\",\"description\":\"description value\"}", "endorsers": {{endorsers}} }
- Parâmetros:
tokenId: string
– O ID do token.toOrgId: string
– O ID do prestador de serviço de associação (MSP) do destinatário (favorecido) na organização atual.toUserId: string
– O nome do usuário ou o ID do e-mail do destinatário.quantity: number
– O número de tokens a serem transferidos.infoDetails: JSON
– Um objeto que especifica a categoria (category
) e a descrição (description
) da solicitação, conforme mostrado no exemplo a seguir.{ "category" : "category input", "description" : "description input" }
endorsers: string[]
– Um array dos pares (por exemplo,peer1
,peer2
) que deve endossar a transação.
- Exemplo de valor de retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "d613b2494b965811b2fa2106152b7085f2d6d7d43e949b10b8668722d3636fe7", "payload": { "msg": "Successfully transferred 10 tokens from account id: oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0 (Org-Id: CB, User-Id: creator_user_cb) to account id: oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594 (Org-Id: CB, User-Id: issuer_user_cb). Only 999 number of transactions and 1990 amount transfer left for today: 12/11/2024" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 224 } }
-
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 Admin
do 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 Admin
do 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 tokenfromTokenId
será 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 Admin
do 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 tokenfromTokenId
será 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_id
eto_user_id
. Esse método pode ser chamado peloToken Admin
do 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 Admin
ouOrg 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 Auditor
ou 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 Auditor
e 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 Admin
ouToken Auditor
do 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 Auditor
ouAccountOwner
da 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 Auditor
ou 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 Admin
do 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" } }