Pacote de API do Wrapper do Token Não 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 marketplace NFT colecioná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 colecionável. O pacote de API do wrapper de estrutura de token não fungível pode ser transferido por download na console do Oracle Blockchain Platform e inclui os componentes a seguir.
  • NFTCollectiblesWithERC721WrapperAPI.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.
  • NFTCollectiblesWithERC721_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. Este método pode ser chamado apenas por um administrador. 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:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "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.
  • 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 um Token Admin do chaincode.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "sameOrgEndorser": true
}
Parâmetros:
  • orgId: string – O ID do prestador de serviço de associação (MSP) do usuário na organização atual.
  • userId: string – O nome de usuário ou o ID de e-mail do usuário.
  • sameOrgEndorser: boolean – Um valor booliano que indica se os endossos da transação devem ser da mesma organização que o solicitante.
Retorna:
  • Em caso de sucesso, uma mensagem que inclui detalhes do usuário que foi adicionado como um Token Admin do chaincode.
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
Esse 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 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": "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 Admins ao 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 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": "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 Admin do chaincode ou pelo proprietário da conta.
Consulta:
/balanceOf?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":  {
            "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 prestador de serviços de associação (MSP) do remetente (proprietário) na organização atual.
  • fromUserId: string – O nome de usuário ou o ID de e-mail do remetente (proprietário).
  • 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.
  • nonfungibleTokenId: string – O ID do token a ser comprado.
  • 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
Esse método cria uma conta para um usuário e token especificados. Uma conta deve ser criada para qualquer usuário que terá tokens a qualquer momento. As contas rastreiam 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 de 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 constante nft. Este método pode ser chamado somente por um Token Admin do 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 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 ser fungible.
  • 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 desta transação se torna o proprietário do NFT. Se o arquivo de especificação de token incluir a seção roles para behaviors e a propriedade minter_role_name para roles, 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 a ser cunhado. 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 nem alterada para nenhum outro estado. Para excluir uma conta, o saldo da conta deve ser zero. Este método pode ser chamado somente por um Token Admin do chaincode.
Payload:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "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.
Retorna:
  • Com êxito, 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 de um usuário especificado. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Account Owner da conta.
Consulta:
/getAccountByUser?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",
          "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 de um usuário especificado. Este é um método assíncrono. Esse método só pode ser chamado pelo Token Admin do chaincode ou pelo proprietário da conta.
Consulta:
/getAccountHistory?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": {
        "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 contas para uma função especificada. Este método pode ser chamado somente por um Token Admin do 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
Esse método retorna uma lista de todos os IDs de conta para uma atribuição TokenSys especificada. Este método pode ser chamado somente por um Token Admin do chaincode.
Consulta:
/getAccountsByTokenSysRole?role=role value (for example vault)
Parâmetros:
  • role: string – O nome da atribuição TokenSys a 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 Admin do chaincode ou pelo proprietário da conta do token.
Consulta:
/getAccountStatus?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.
Retorna:
  • Com êxito, 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 Admin do chaincode ou pelo proprietário da conta do token.
Consulta:
/getAccountStatusHistory?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.
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 Admin do chaincode ou pelo proprietário da conta.
/getAccountTransactionHistory?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": [
            {
                "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
Esse método GET retorna o histórico de transações da conta de um usuário especificado, filtrado por PageSize, Bookmark, startTime e endTime. 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 pelo Token Admin do 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 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.
  • filters: object – Um objeto da classe Filtro que contém quatro atributos: pageSize, bookmark, startTime e endTime.
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. Este método pode ser chamado somente por um Token Admin do chaincode.
Consulta:
/getAllAccounts
Parâmetros:
  • nenhuma
Retorna:
  • Com 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 todos os NFTs bloqueados. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Vault Manager (o usuário com a atribuição TokenSys 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
Esse método retorna uma lista de todos os usuários que são um Token Admin do chaincode. Este método pode ser chamado somente pelo Token Admin do chaincode.
Consulta:
/getAllTokenAdmins
Parâmetros:
  • nenhuma
Retorna:
  • Em caso de sucesso, um array admins no formato JSON que contém objetos orgId e userId.
Exemplo de valor de retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "admins":[
                {
                    "orgId":"Org1MSP",
                    "userId":"admin"
                }
            ]
        },
        "encode": "JSON"
    }
}
getAllTokens
Nome do método original: getAllTokens
Esse método retorna todos os ativos de token salvos no banco de dados de estado. Este método pode ser chamado somente por um Token Admin do chaincode. Esse método usa consultas ricas em SQL de BD Berkeley 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 pertencentes a um usuário especificado. Esse método usa consultas ricas em SQL de BD Berkeley e só pode ser chamado quando conectado à rede remota do Oracle Blockchain Platform. Esse método só pode ser chamado por um Token Admin do 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 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.
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 Admin do chaincode ou pelo gerenciador de vault (o usuário com a atribuição TokenSys vault).
Consulta:
/getLockedNFTsByOrg?orgId={{bc-org-id}}&userId={{bc-user-id}}
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.
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
Esse método retornará 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 Admin do chaincode ou do 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. Este método pode ser chamado somente por um Token Admin do chaincode.
Consulta:
/getTransactionById?transactionId=transactionId value
Parâmetros:
  • transactionId: string – O id da transação, que é o prefixo otransaction~ 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
Esse 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
Esse método é chamado quando o chaincode é implantado. As informações do usuário são salvas como Token Admin do chaincode.
Payload:
{
    "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{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 array adminList é 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 atribuição especificada. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Account Owner da 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 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.
  • 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
Esse método GET retorna um valor Booliano para indicar se um usuário tem uma atribuição TokenSys especificada. Esse método só pode ser chamado por um Token Admin do chaincode ou pelo Account Owner da conta.
Consulta:
/isInTokenSysRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example vault)
Parâmetros:
  • role: string – O nome da atribuição TokenSys a ser pesquisada.
  • 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": {
            "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 Admin do chaincode, do proprietário do token ou do gerenciador de vault (o usuário com a atribuição TokenSys 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 vault.
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
    }
}
name
Nome do método original: name
Esse método GET retorna o nome da classe do token. Qualquer um pode chamar esse método.
Consulta:
/name
Parâmetros: Nenhum
Exemplo de valor de retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {"tokenName": "artcollection"},
        "encode": "JSON"
    }
}
ownerOf
Nome do método original: ownerOf
Este método GET retorna o ID da conta do proprietário do ID do token especificado. Qualquer um pode chamar esse método.
Consulta:
/ownerOf?tokenId={{bc-token-id}}
Parâmetros:
  • tokenId: string – O ID do token.
Retorna:
  • Um objeto JSON do ID da conta do proprietário.
Exemplo de valor de retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "owner": "oaccount~d6d22c3167e3c6ab9ee5653e1a008c37c20cc47ebb0229ca0aedfafe64c675b8"
        },
        "encode": "JSON"
    }
}
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. Este método pode ser chamado somente por um Token Admin do 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 comportamentos mintable e burnable correspondem às propriedades minter_role_name e burner_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": "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 Admin do chaincode. Este método pode ser chamado somente por um Token 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": "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 TokenSys de um usuário e token especificados. Este método pode ser chamado somente por um Token Admin do 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ção TokenSys a ser removida do 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": "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. Este método inclui as seguintes validações:
  • O token existe e não é queimado.
  • A conta do remetente e a conta do recebedor 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 do usuário ou o ID do e-mail do remetente e do proprietário do token.
  • 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.
  • 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 accountStatus não for encontrado no razão. Este método pode ser chamado somente por um Token Admin do chaincode.
Payload:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "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.
  • 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
Esse método retorna o símbolo da classe do 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
Esse 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 queimados. Este método pode ser chamado somente por um Token Admin do 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. Este método pode ser chamado somente por um Token Admin do 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 de remetente para uma conta de destinatário. É responsabilidade do chamador passar os parâmetros corretos. Esse método pode ser chamado por qualquer usuário, não apenas pelo proprietário do token. Este método inclui as seguintes validações:
  • O token existe e não é queimado.
  • A conta do remetente e a conta do recebedor 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 do usuário ou o ID do e-mail do remetente.
  • 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.
  • 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 TokenSys de um usuário para outro.
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 atribuição TokenSys a 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 do usuário ou o ID do e-mail do remetente.
  • 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.
  • 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 esse 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
    }
}