包装器 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}",
}