래퍼 API

향상된 버전의 Blockchain App Builder는 각 체인코드 방법에 대한 전용 엔드포인트를 지원하는 API Gateway용 래퍼 API를 생성할 수 있습니다.

래퍼 API는 Oracle Blockchain Platform 엔드포인트 위에 있는 추상화 계층입니다. 래퍼 API는 사용 및 명확성을 단순화할 수 있는 공통 매개변수 및 API별 끝점 이름 구성을 지원합니다.

Oracle Blockchain Platform의 기본 버전에서 API 엔드포인트에는 체인코드 이름, 시간 초과 및 동기화 값, 인수(메소드 이름 포함), 채널 이름, 인스턴스 URL 등의 매개변수가 필요합니다. 이러한 파라미터는 호출할 때마다 전달되어야 합니다. 이러한 파라미터는 대부분 모든 메소드에 공통되므로 래퍼 API 기능을 사용하여 각 메소드에 대해 끝점을 생성한 다음 메소드 파라미터만 사용하여 호출할 수 있습니다. 공통 끝점(트랜잭션 또는 질의) 대신 각 메소드에 대한 사용자정의 끝점 이름을 가질 수 있습니다. Oracle Blockchain Platform의 API 엔드포인트는 POST 요청을 사용하지만 래퍼 API는 POST 및 GET 요청을 모두 지원합니다. API Gateway 인증 메커니즘을 사용하여 래퍼 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}",
}