래퍼 API

향상된 버전의 Blockchain App Builder는 각 체인코드 방법에 대한 전용 엔드포인트를 지원하는 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_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}",
}