래퍼 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}",
}