Pacote de API Wrapper de Estrutura de Token Não 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 marketplace NFT coletável.
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 marketplace coletável. O pacote da API wrapper de estrutura de token não fungível pode ser baixado na console do Oracle Blockchain Platform e inclui os componentes a seguir.
NFTCollectiblesWithERC721WrapperAPI.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.NFTCollectiblesWithERC721_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. Este método só pode ser chamado por um administrador. 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:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "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.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":"Successfully added Admin (orgId: Org1MSP, userId: User1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 190 } } -
addRole - Nome do método original:
addRole - Este método adiciona a atribuição ao usuário e token especificados.
- Payload:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parâmetros:
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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully added role 'minter' to Account Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
addTokenSysRole - Nome do método original:
addTokenSysRole - Esse método adiciona
Org Adminsao chaincode do token. - Payload:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parâmetros:
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": "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 } } -
balanceOf - Nome do método original:
balanceOf - Este método GET retorna o número total de NFTs que um usuário especificado mantém. Esse método só pode ser chamado por um
Token Admindo chaincode ou pelo proprietário da conta. - Consulta:
/balanceOf?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": { "totalNfts": 0 }, "encode": "JSON" } } -
buy - Nome do método original:
buy - Este método POST compra um token que está à venda.
- Payload:
{ "fromOrgId": "from_org_id value", "fromUserId": "from_user_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "nonfungibleTokenId": "nonfungible_token_id value", "amountPaid": 1, "endorsers": {{endorsers}} } - Parâmetros:
fromOrgId: string– O ID do provedor de serviços de associação (MSP) do remetente (proprietário) na organização atual.fromUserId: string– O nome de usuário ou ID de e-mail do remetente (proprietário).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.nonfungibleTokenId: string– O ID do token a ser adquirido.amountPaid: number– O preço 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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Token ID: 'monalisa' has been successfully transferred to UserID :oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
createAccount - Nome do método original:
createAccount - Este método cria uma conta para um usuário e token especificados. É necessário criar uma conta para qualquer usuário que tenha tokens a qualquer momento. As contas rastreiam o número de NFTs que um usuário possui. Um ID de conta é um conjunto alfanumérico de caracteres, prefixado com
oaccount~e seguido por um hash SHA-256 do ID do provedor de serviços de associação (orgId) do usuário na organização de rede atual, o nome do usuário ou o ID de e-mail (userId) do proprietário da instância ou do usuário que está conectado à instância e a string constantenft. Esse método só pode ser chamado por umToken Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "nonfungible", "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.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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccount", "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "bapAccountVersion": 0, "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
createArtCollectionToken - Nome do método original:
createArtCollectionToken - Este método POST cria (mints) um NFT. O ativo e as propriedades associadas são salvos no banco de dados de estado. O chamador desta transação deve ter uma conta de token. O chamador dessa transação se torna o proprietário do NFT. Se o arquivo de especificação de token incluir a seção
rolesparabehaviorse a propriedademinter_role_namepararoles, o chamador da transação deverá ter a atribuição de minter. Caso contrário, qualquer chamador pode cunhar NFTs. - Payload:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"metadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}", "sameOrgEndorser": true } - Parâmetros:
tokenAsset: <Token Class>– O ativo de token para hortelã. Para obter mais informações sobre as propriedades do ativo de token, consulte o arquivo de especificação de entrada.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"", "price": 100, "on_sale_flag": false }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
deleteAccount - Nome do método original:
deleteAccount - Este método POST exclui uma conta de token. Depois que uma conta é excluída, ela fica em um estado final e não pode ser atualizada ou alterada para nenhum outro estado. Para excluir uma conta, o saldo da conta deve ser zero. Esse método só pode ser chamado por um
Token Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "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.
- Retorna:
- Em caso de sucesso, uma representação JSON do status da conta de token.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "deleted" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
getAccountByUser - Nome do método original:
getAccountByUser - 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:
/getAccountByUser?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", "status": "active", "accountId": "oaccount~cc301bee057f14236a97d434909ec1084970921b008f6baab09c2a0f5f419a9a", "userId": "idcqa", "orgId": "appdev", "tokenType": "nonfungible", "noOfNfts": 0 }, "encode": "JSON" } } -
getAccountHistory - Nome do método original:
getAccountHistory - Este método retorna o histórico da conta para um usuário especificado. Este é um método assíncrono. Esse método só pode ser chamado pelo
Token Admindo chaincode ou pelo proprietário da conta. - Consulta:
/getAccountHistory?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": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": [ { "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timeStamp": 1649151044, "value": { "assetType": "oaccount", "bapAccountVersion" : 5, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timeStamp": 1649151022, "value": { "assetType": "oaccount", "bapAccountVersion" : 4, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 2 } }, { "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timeStamp": 1649150910, "value": { "assetType": "oaccount", "bapAccountVersion" : 3, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timeStamp": 1649149545, "value": { "assetType": "oaccount", "bapAccountVersion" : 2, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 } }, { "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timeStamp": 1649147442, "value": { "assetType": "oaccount", "bapAccountVersion" : 1, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "d2d1f9c898707ae831e9361bc25da6369eac37b10c87dc04d18d6f3808222f08", "timeStamp": 1649137534, "value": { "assetType": "oaccount", "bapAccountVersion" : 0, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 } } ], "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?role=role value (for example minter / burner) - Parâmetros:
role: string– O nome da função a ser pesquisada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "accounts": [ "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d" ] }, "encode": "JSON" } } -
getAccountsByTokenSysRole - Nome do método original:
getAccountsByTokenSysRole - Este método retorna uma lista de todos os IDs de conta para uma atribuição
TokenSysespecificada. Esse método só pode ser chamado por umToken Admindo chaincode. - Consulta:
/getAccountsByTokenSysRole?role=role value (for example vault) - Parâmetros:
role: string– O nome da funçãoTokenSysa ser pesquisada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "accountIds": [ "oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba" ] }, "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 Admindo chaincode ou pelo proprietário da conta de token. - Consulta:
/getAccountStatus?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.
- Retorna:
- Em caso de sucesso, uma representação JSON do status da conta de token.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } } -
getAccountStatusHistory - Nome do método original:
getAccountStatusHistory - Este método GET recupera o histórico do status da conta. Esse método pode ser chamado pelo
Token Admindo chaincode ou pelo proprietário da conta de token. - Consulta:
/getAccountStatusHistory?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.
- Retorna:
- Com êxito, o histórico de status da conta no formato JSON.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63", "timeStamp": "2022-12-02T10:39:14.000Z", "value": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" } }, { "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183", "timeStamp": "2022-12-02T10:37:50.000Z", "value": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" } } ], "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?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": [ { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timestamp": "2022-04-05T09:30:44.000Z", "tokenId": "monalisa1", "noOfNfts": 1, "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN" }, { "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timestamp": "2022-04-05T09:30:22.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" }, { "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timestamp": "2022-04-05T09:28:30.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "CREDIT" }, { "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timestamp": "2022-04-05T09:05:45.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "DEBIT" }, { "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timestamp": "2022-04-05T08:30:42.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" } ], "encode": "JSON" } } -
getAccountTransactionHistoryWithFilters - Nome do método original:
getAccountTransactionHistoryWithFilters - Este método GET retorna o histórico de transações da conta para um usuário especificado, filtrado por
PageSize,Bookmark,startTimeeendTime. Este é um método assíncrono. Esse método só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform. Esse método só pode ser chamado peloToken Admindo chaincode ou pelo proprietário da conta. /getAccountTransactionHistoryWithFilters?orgId={{bc-org-id}}&userId={{bc-user-id}}&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}- 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.filters: object– Um objeto da classe Filtro que contém quatro atributos:pageSize,bookmark,startTimeeendTime.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timestamp": "2022-04-05T09:30:44.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN" }, { "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timestamp": "2022-04-05T09:30:22.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" }, { "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timestamp": "2022-04-05T09:28:30.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "CREDIT" }, { "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timestamp": "2022-04-05T09:05:45.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "DEBIT" }, { "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timestamp": "2022-04-05T08:30:42.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" } ], "encode": "JSON" } } -
getAllAccounts - Nome do método original:
getAllAccounts - Este método GET retorna detalhes de todas as contas de usuário. Esse método só pode ser chamado por um
Token Admindo chaincode. - Consulta:
/getAllAccounts - Parâmetros:
- nenhuma
- Retorna:
- No sucesso, um array JSON de todas as contas.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "valueJson": { "assetType": "oaccount", "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } } ], "encode": "JSON" } } -
getAllLockedNFTs - Nome do método original:
getAllLockedNFTs - Este método GET retorna uma lista de todas as NFTs bloqueadas. Esse método só pode ser chamado por uma
Token Admindo chaincode ou pelo Gerenciador de Vaults (o usuário com a atribuiçãoTokenSys vault). - Consulta:
/getAllLockedNFTs - Parâmetros:
- nenhuma
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key":"token1", "valueJson":{ "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.example.com", "price":120, "on_sale_flag":false } } ], "encode": "JSON" } } -
getAllTokenAdmins - Nome do método original:
getAllTokenAdmins - Este método retorna uma lista de todos os usuários que são um
Token Admindo chaincode. Esse método só pode ser chamado peloToken Admindo chaincode. - Consulta:
/getAllTokenAdmins - Parâmetros:
- nenhuma
- Retorna:
- Em caso de sucesso, um array
adminsno formato JSON que contém objetosorgIdeuserId.
- Em caso de sucesso, um array
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "admins":[ { "orgId":"Org1MSP", "userId":"admin" } ] }, "encode": "JSON" } } -
getAllTokens - Nome do método original:
getAllTokens - Este método retorna todos os ativos de token que são salvos no banco de dados de estado. Esse método só pode ser chamado por um
Token Admindo chaincode. Este método usa consultas ricas em SQL do Berkeley DB e só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform. - Consulta:
/getAllTokens - Parâmetros:
- nenhuma
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "monalisa", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:48.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } }, { "key": "monalisa1", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa1", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:59.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } } ], "encode": "JSON" } } -
getAllTokensByUser - Nome do método original:
getAllTokensByUser - Este método GET retorna todos os ativos de token que pertencem a um usuário especificado. Este método usa consultas ricas em SQL do Berkeley DB e só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform. Esse método só pode ser chamado por um
Token Admindo chaincode ou pelo proprietário da conta. - Consulta:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}} - 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.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "monalisa", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:48.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } }, { "key": "monalisa1", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa1", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:59.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } } ], "encode": "JSON" } } -
getLockedNFTsByOrg - Nome do método original:
getLockedNFTsByOrg - Este método retorna uma lista de todos os tokens não fungíveis bloqueados para uma organização especificada e, opcionalmente, um usuário especificado. Esse método só pode ser chamado por um
Token Admindo chaincode ou pelo gerenciador de vaults (o usuário com a atribuiçãoTokenSys vault). - Consulta:
/getLockedNFTsByOrg?orgId={{bc-org-id}}&userId={{bc-user-id}} - 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.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key":"token1", "valueJson":{ "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.examplecom", "price":120, "on_sale_flag":false } } ], "encode": "JSON" } } -
getTokenById - Nome do método original:
getTokenById - Este método retorna um objeto de token se o token estiver presente no banco de dados de estado. Esse método só pode ser chamado por um
Token Admindo chaincode ou pelo proprietário do token. - Consulta:
/getTokenById?tokenId={{bc-token-id}} - Parâmetros:
tokenId: string– O ID do token a ser obtido.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:28:30.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true }, "encode": "JSON" } } -
getTokenHistory - Nome do método original:
getTokenHistory - Este método retorna o histórico de um ID de token especificado. Este é um método assíncrono. Esse método só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform. Qualquer um pode chamar esse método.
/getTokenHistory?tokenId={{bc-token-id}}- Parâmetros:
tokenId: string– O ID do token.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timeStamp": 1649150910, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:28:30.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timeStamp": 1649149545, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:05:45.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "702e61cc8d6d2982521023d0d5f3195900f35e146d6a90ef66daae551e6075d2", "timeStamp": 1649147729, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timeStamp": 1649147442, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"", "price": 100, "on_sale_flag": false } } ] "encode": "JSON" } } -
getTransactionById - Nome do método original:
getTransactionById - Este método retorna o histórico de transações de um ID de transação especificado. Este é um método assíncrono. Esse método só pode ser chamado por um
Token Admindo chaincode. - Consulta:
/getTransactionById?transactionId=transactionId value - Parâmetros:
transactionId: string– O id da transação, que é o prefixootransaction~seguido pelo hash de 64 bits no formato hexadecimal.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "history": [ { "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timeStamp": 1649151044, "value": { "assetType": "otransaction", "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "tokenId": "monalisa1", "fromAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "toAccountId": "", "triggeredByAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN", "timestamp": "2022-04-05T09:30:44.000Z", } } ] }, "encode": "JSON" } } -
getUserByAccountId - Nome do método original:
getUserByAccountId - Este método GET retorna os detalhes do usuário de uma conta especificada.
- Consulta:
/getUserByAccountId?accountId=accountId value - Parâmetros:
accountId: string– O ID da conta.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "userId": "admin", "orgId": "Org1MSP" }, "encode": "JSON" } } -
getUsersByRole - Nome do método original:
getUsersByRole - Este método retorna uma lista de todos os usuários de uma atribuição especificada.
/getUsersByRole?role=role value (for example minter / burner)- Parâmetros:
role: string– O nome da função a ser pesquisada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "userId": "admin", "orgId": "Org1MSP" } ] }, "encode": "JSON" } } -
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": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{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 } } -
isInRole - Nome do método original:
isInRole - Este método GET retorna um valor Booliano para indicar se um usuário tem uma função especificada. Esse método só pode ser chamado por um
Token Admindo chaincode ou peloAccount Ownerda conta. - Consulta:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner) - 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.role: string– O nome da função a ser pesquisada.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result":"true" }, "encode": "JSON" } } -
isInTokenSysRole - Nome do método original:
isInTokenSysRole - Este método GET retorna um valor Booliano para indicar se um usuário tem uma atribuição
TokenSysespecificada. Esse método só pode ser chamado por umToken Admindo chaincode ou peloAccount Ownerda conta. - Consulta:
/isInTokenSysRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example vault) - Parâmetros:
role: string– O nome da funçãoTokenSysa ser pesquisada.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": { "result": true, "msg": "Account Id oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1) has vault role" }, "encode": "JSON" } } -
isNFTLocked - Nome do método original:
isNFTLocked - Este método GET retorna um valor Booliano para indicar se um token especificado está bloqueado. Esse método só pode ser chamado por um
Token Admindo chaincode, do proprietário do token ou do gerenciador de vault (o usuário com a atribuiçãoTokenSys vault). - Consulta:
/isNFTLocked?tokenId={{bc-token-id}} - Parâmetros:
tokenId: string– O ID do token.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "isNFTLocked":true }, "encode": "JSON" } } -
lockNFT - Nome do método original:
lockNFT - Este método POST bloqueia um token não fungível especificado. Para bloquear um token, deve haver um usuário com a atribuição
TokenSys vault, que atua como o gerenciador de vaults. - Payload:
{ "tokenId": "{{bc-token-id}}", "sameOrgEndorser": true } - Parâmetros:
tokenId: string– O ID do token a ser bloqueado.sameOrgEndorser: boolean– Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.example.com", "price":120, "on_sale_flag":false }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
post - Nome do método original:
post - Este método POST publica um token para venda por um preço especificado.
- Payload:
{ "tokenId": "{{bc-token-id}}", "sellingPrice": 1, "endorsers": {{endorsers}} } - Parâmetros:
tokenId: string– O ID do token.sellingPrice: number– O preço 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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Token ID: 'monalisa' has been posted for selling in the marketplace" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
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. - Payload:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parâmetros:
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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed role 'minter' from Account Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed Admin (orgId: Org1MSP, userId: User1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
removeTokenSysRole - Nome do método original:
removeTokenSysRole - Esse método remove uma atribuição
TokenSysde um usuário e token especificados. Esse método só pode ser chamado por umToken Admindo chaincode. - Payload:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} } - Parâmetros:
role: string– O nome da atribuiçãoTokenSysa ser removida do 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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed role 'vault' from Account Id: oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
safeTransferFrom - Nome do método original:
safeTransferFrom - Esta é uma função assíncrona. Este método POST transfere a propriedade do NFT especificado do chamador para outra conta. Esse método inclui as seguintes validações:
- O token existe e não é gravado.
- A conta do remetente e a conta do destinatário existem e não são a mesma conta.
- A conta do remetente possui o token.
- O chamador da função é o remetente.
- Payload:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "data": "data value", "endorsers": {{endorsers}} } - Parâmetros:
fromOrgId: string– O ID do provedor de serviços de associação (MSP) do remetente e do proprietário do token na organização atual.fromUserId: string– O nome de usuário ou o ID de e-mail do remetente e do proprietário do token.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.tokenId: string– O ID do token a ser transferido.data: string– Informações adicionais opcionais a serem armazenadas no registro de transação.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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin) to Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
suspendAccount - Nome do método original:
suspendAccount - Este método suspende uma conta de token fungível. Ele gerará um erro se um valor
accountStatusnão for encontrado no razão. Esse método só pode ser chamado por umToken Admindo chaincode. - Payload:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "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.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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
symbol - Nome do método original:
symbol - Este método retorna o símbolo da classe de token. Qualquer um pode chamar esse método.
- Consulta:
/symbol - Parâmetros:
- nenhuma
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "symbol": "PNT" }, "encode": "JSON" } } -
tokenURI - Nome do método original:
tokenURI - Este método retorna o URI de um token especificado. Qualquer um pode chamar esse método.
- Consulta:
/tokenURI?tokenId={{bc-token-id}} - Parâmetros:
tokenId: string– O ID do token.
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "tokenURI": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg" }, "encode": "JSON" } } -
totalNetSupply - Nome do método original:
totalNetSupply - Este método GET retorna o número total de tokens cunhados menos o número de tokens gravados. Esse método só pode ser chamado por um
Token Admindo chaincode. /totalNetSupply- Parâmetros:
- nenhuma
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNetSupply": 1 }, "encode": "JSON" } } -
totalSupply - Nome do método original:
totalSupply - Este método GET retorna o número total de tokens cunhados. Esse método só pode ser chamado por um
Token Admindo chaincode. - Consulta:
/totalSupply - Parâmetros:
- nenhuma
- Exemplo de Valor de Retorno:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalSupply": 3 }, "encode": "JSON" } } -
transferFrom - Nome do método original:
transferFrom - Esta é uma função assíncrona. Este método transfere a propriedade do NFT especificado de uma conta do remetente para uma conta do recebedor. É responsabilidade do chamador passar os parâmetros corretos. Este método pode ser chamado por qualquer usuário, não apenas pelo proprietário do token. Esse método inclui as seguintes validações:
- O token existe e não é gravado.
- A conta do remetente e a conta do destinatário existem e não são a mesma conta.
- A conta do remetente possui o token.
- Payload:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} } - Parâmetros:
fromOrgId: string– O ID do prestador de serviço de associação (MSP) do remetente na organização atual.fromUserId: string– O nome de usuário ou ID de e-mail do remetente.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.tokenId: string– O ID do token a ser transferido.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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1) to Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
transferTokenSysRole - Nome do método original:
transferTokenSysRole - Esse método transfere uma atribuição
TokenSysde um usuário para outro usuário. - Payload:
{ "role": "role value (for example vault)", "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "endorsers": {{endorsers}} } - Parâmetros:
role: string– O nome da funçãoTokenSysa ser transferida.fromOrgId: string– O ID do prestador de serviço de associação (MSP) do remetente na organização atual.fromUserId: string– O nome de usuário ou ID de e-mail do remetente.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.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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transfered role 'vault' from Account Id: ouaccount~f4e311528f03fffa7810753d643f66289ff6c9080fcf839902f28a1d3aff1789 (Org-Id: Org1MSP, User-Id: user1) to Account Id: ouaccount~ae5be2ae8f98d6d32f5d02b43877d987114e7937c7bacbc30390dcce09996a19 (Org-Id: Org1MSP, User-Id: user2)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } } -
updateArtCollectionToken - Nome do método original:
updateArtCollectionToken - Este método atualiza as propriedades do token. Após a criação de um ativo de token, somente o proprietário do token poderá atualizar as propriedades personalizadas do token. Se o usuário for proprietário do token e criador de um token, ele também poderá atualizar a propriedade
TokenDesc. Os metadados do token não podem ser atualizados. Você deve passar todas as propriedades de token para este método, mesmo que queira atualizar apenas determinadas propriedades. - Payload:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"Price\":999,\"On_Sale_Flag\":true}", "sameOrgEndorser": true } - Parâmetros:
tokenAsset: <Token Class>– O ativo de token a ser atualizado. Para obter mais informações sobre as propriedades do ativo de token, consulte o arquivo de especificação de entrada.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": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }