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