Gateway API
Oracle Blockchain Platform Digital Assets Edition utilizza il servizio API Gateway per distribuire le API wrapper generate da Blockchain App Builder.
Gli endpoint API wrapper vengono pubblicati nel gateway API utilizzando uno stack di Resource Manager su Oracle Cloud Infrastructure (OCI). Gli stack distribuiscono e gestiscono gruppi di risorse cloud in modo predefinito e ripetibile, il che può semplificare l'orchestrazione e l'automazione del provisioning dell'infrastruttura. Il servizio OCI API Gateway ti consente di pubblicare le API con endpoint privati accessibili dall'interno della tua rete e che puoi esporre con indirizzi IP pubblici se desideri che accettino il traffico Internet.
Gli endpoint dell'API REST di Oracle Blockchain Platform richiedono di passare parametri quali il nome del codice concatenato, i valori di timeout e sincronizzazione e gli argomenti, incluso il nome del metodo, ogni volta che si richiama l'API. Negli scenari in cui i parametri sono comuni a tutti i metodi, è possibile utilizzare le API wrapper per richiamare l'API utilizzando solo gli argomenti del metodo. Ogni metodo chaincode avrà un endpoint API wrapper distinto. In alcuni casi, è possibile unire più endpoint API REST di diversi codici concatenati e anche endpoint Oracle Identity Cloud Service per formare un singolo endpoint API wrapper.
L'esempio riportato di seguito mostra come chiamare il metodo associateTokenToAccount
con Oracle Blockchain Platform.
https://<blockchain_instance>:7443/restproxy/api/v2/channels/default/transactions
{
"chaincode": "{{bc-chaincode-name}}",
"args": [
"associateTokenToAccount",
"oaccount~78b47483e4033a0c6be3b678080264e7967d53f56d4b024edd96eb8957c452d4",
"t2"
],
"timeout": {{bc-timeout}},
"sync": {{bc-sync}}
}
Con le API wrapper supportate da Oracle Blockchain Platform Digital Assets Edition, la stessa invocazione assomiglia all'esempio seguente:
https://<blockchain_instance>/appbuilder/associate
{
"accountId":"oaccount~efc22a0316a47dd06679920140717b686c7366a627a707c5e8c89015bb21796a",
"tokenId":"t1"
}
Il gateway API viene configurato come parte di una distribuzione dello stack quando si distribuiscono le API wrapper come descritto in Distribuisci API wrapper.