APIs Wrapper
A versão aprimorada do Blockchain App Builder pode gerar APIs wrapper para Gateway de API, que suportam pontos finais dedicados para cada método de chaincode.
Uma API wrapper é uma camada de abstração sobre um ponto final do Oracle Blockchain Platform. As APIs Wrapper suportam a configuração de parâmetros comuns e nomes de pontos finais específicos da API, o que pode simplificar o uso e a clareza.
Na versão base do Oracle Blockchain Platform, um ponto final de API requer parâmetros que incluem o nome do chaincode, valores de timeout e sincronização, argumentos (incluindo o nome do método), nome do canal e URL da instância. Esses parâmetros devem ser passados com cada chamada. Como a maioria desses parâmetros é comum a todos os métodos, você pode usar a funcionalidade da API wrapper para criar um ponto final para cada método, que você chama usando apenas os parâmetros do método. Em vez de um ponto final comum, seja uma transação ou uma consulta, você pode ter um nome de ponto final personalizado para cada método. Enquanto os pontos finais de API no Oracle Blockchain Platform usam solicitações POST, as APIs wrapper suportam solicitações POST e GET. Você também pode adicionar uma camada extra de autenticação com APIs wrapper usando o mecanismo de autenticação do Gateway de API.
O exemplo a seguir mostra a API do método createAccount no Oracle Blockchain Platform.
Ponto final: https://blockchain.example.com:7443/restproxy/api/v2/channels/default/transactions
{
"chaincode": "{{bc-chaincode-name}}",
"args": [
"createAccount",
"{{bc-org-id}}",
"{{bc-user-id}}",
"fungible",
"{\"max_daily_amount\":10000,\"max_daily_transactions\":100}"
],
"timeout": {{bc-timeout}},
"sync": {{bc-sync}}
}
Se você configurar APIs wrapper, poderá fazer a mesma chamada de método mostrada no exemplo a seguir.
Ponto final: https://apigateway.example.com/appbuilder/createAccount
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
}