包装 API
Blockchain App Builder 的增强版本可以为 API Gateway 生成包装 API,这些 API 支持每个链代码方法的专用端点。Blockchain App Builder 的增强版本与 Oracle Blockchain Platform Digital Assets Edition 捆绑在一起。
包装 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_instance>:7443/restproxy/api/v2/channels/<channelName>/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://<gateway-hostname>/<deployment-path-prefix>/<route-path>
{
"orgId": "{{bc-org-id}}",
"userId": "user1",
"tokenType": "fungible",
"dailyLimits": "{\"max_daily_amount\":10000,\"max_daily_transactions\":100}",
}