ラッパーAPI
ブロックチェーン・アプリケーション・ビルダーの拡張バージョンでは、APIゲートウェイのラッパーAPIを生成できます。APIゲートウェイでは、チェーンコード・メソッドごとに専用エンドポイントがサポートされます。
ラッパーAPIは、Oracle Blockchain Platformエンドポイントに対する抽象化レイヤーです。ラッパーAPIでは、共通パラメータおよびAPI固有のエンドポイント名の構成がサポートされるため、使用とわかりやすくなります。
Oracle Blockchain Platformのベース・バージョンでは、APIエンドポイントには、チェーンコード名、タイムアウトと同期の値、引数(メソッド名を含む)、チャネル名、インスタンスURLなどのパラメータが必要です。これらのパラメータは、起動ごとに渡す必要があります。これらのパラメータのほとんどはすべてのメソッドに共通であるため、ラッパーAPI機能を使用して各メソッドのエンドポイントを作成し、メソッド・パラメータのみを使用して呼び出すことができます。共通エンドポイント(トランザクションまたは問合せ)のかわりに、メソッドごとにカスタム・エンドポイント名を指定できます。Oracle Blockchain PlatformのAPIエンドポイントではPOSTリクエストが使用されますが、ラッパーAPIではPOSTリクエストとGETリクエストの両方がサポートされます。APIゲートウェイ認証メカニズムを使用して、ラッパーAPIによる追加の認証レイヤーを追加することもできます。
次の例は、Oracle Blockchain PlatformのcreateAccountメソッドAPIを示しています。
エンドポイント: 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}}
}
ラッパーAPIを構成する場合、次の例に示すように、同じメソッド・コールを行うことができます。
エンドポイント: https://apigateway.example.com/appbuilder/createAccount
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
}