API 게이트웨이

Oracle Blockchain Platform Digital Assets Edition은 API 게이트웨이 서비스를 사용하여 블록체인 앱 빌더에서 생성된 래퍼 API를 배포합니다.

래퍼 API 엔드포인트는 OCI(Oracle Cloud Infrastructure)의 리소스 관리자 스택을 사용하여 API 게이트웨이에 게시됩니다. 스택은 사전 정의되고 반복 가능한 방식으로 클라우드 리소스 그룹을 배포 및 관리하여 인프라 프로비저닝의 통합관리 및 자동화를 간소화합니다. OCI API 게이트웨이 서비스를 사용하면 네트워크 내에서 액세스할 수 있는 프라이빗 끝점이 있는 API를 게시할 수 있으며, 인터넷 트래픽을 허용하려는 경우 퍼블릭 IP 주소로 노출할 수 있습니다.

Oracle Blockchain Platform REST API 엔드포인트에서는 API를 호출할 때마다 체인코드 이름, 시간 초과 및 동기화 값, 메소드 이름을 포함한 인수와 같은 매개변수를 전달해야 합니다. 파라미터가 모든 메소드에 공통되는 시나리오에서는 래퍼 API를 사용하여 메소드 인수만 사용하여 API를 호출할 수 있습니다. 각 체인코드 메소드에는 고유한 래퍼 API 끝점이 있습니다. 경우에 따라 서로 다른 체인코드의 여러 REST API 엔드포인트와 Oracle Identity Cloud Service 엔드포인트를 병합하여 단일 래퍼 API 엔드포인트를 형성할 수 있습니다.

다음 예에서는 Oracle Blockchain Platform을 사용하여 associateTokenToAccount 메소드를 호출하는 방법을 보여줍니다.

엔드포인트: https://<blockchain_instance>:7443/restproxy/api/v2/channels/<channelName>/transactions
{
    "chaincode": "{{bc-chaincode-name}}",
    "args": [
        "associateTokenToAccount",
        "oaccount~78b47483e4033a0c6be3b678080264e7967d53f56d4b024edd96eb8957c452d4",
        "t2"
    ],
    "timeout": {{bc-timeout}},
    "sync": {{bc-sync}}
}

Oracle Blockchain Platform Digital Assets Edition에서 지원하는 래퍼 API를 사용하면 동일한 호출이 다음 예와 같습니다.

엔드포인트: https://<gateway-hostname>/<deployment-path-prefix>/<route-path>
{
 "accountId":"oaccount~efc22a0316a47dd06679920140717b686c7366a627a707c5e8c89015bb21796a",
 "tokenId":"t1"
}

래퍼 API를 배치할 때 API 게이트웨이는 스택 배치의 일부로 구성됩니다. 래퍼 API 배포에 대한 자세한 내용은 Oracle Blockchain Platform용 블록체인 앱 빌더래퍼 API 배포를 참조하십시오.