도매 CBDC 샘플 애플리케이션에 대한 Oracle Blockchain Platform 구성

Oracle Blockchain Platform의 모든 필수 인스턴스 및 필수 제품을 만든 후에는 사용자 및 역할을 구성하고, 참가자 조직을 설립자 조직에 추가하고, 풍부한 기록 데이터베이스를 사용으로 설정해야 합니다.

Oracle Blockchain Platform 인스턴스에 대한 IDCS 그룹 구성

내장된 Oracle Blockchain Platform 롤 및 롤에 사용자를 지정하는 방법에 대한 자세한 내용은 사용자 및 애플리케이션 롤 설정을 참조하십시오.

도매 CBDC 샘플 애플리케이션 역할에 대한 자세한 내용은 도매 CBDC 애플리케이션 워크플로우를 참조하십시오.

Oracle Blockchain Platform에서는 다음 애플리케이션 역할 지정이 구현되어야 합니다.

  • 중앙 은행(CB) 그룹: 모든 중앙 은행 그룹을 CentralBank Oracle Blockchain Platform 인스턴스의 REST_CLIENT 애플리케이션 롤에 지정합니다.
  • FI(금융 기관) 그룹: 모든 금융 기관 그룹을 해당 조직의 REST_CLIENT 애플리케이션 롤에 지정합니다.
  • 관리 롤: 관련 관리 그룹(예: CB_CBDC_ADMINFI_CBDC_ADMINS)을 해당 조직의 ADMIN 애플리케이션 롤에 지정합니다.

이 구성은 중앙 은행 및 금융 기관 그룹 모두 REST_CLIENT 롤을 통해 필요한 액세스 권한을 가지며, 관리 권한은 ADMIN 롤을 통해 적절히 관리되도록 합니다.

다음 단계에 따라 애플리케이션 롤에 그룹을 지정합니다.

  1. Oracle Cloud Infrastructure 계정에 사인인합니다.
  2. 콘솔에서 왼쪽 상단 모서리에 있는 탐색 메뉴를 누릅니다.
  3. ID에서 도메인을 선택합니다.
  4. [도메인] 페이지에서 Oracle Identity Cloud Service를 누릅니다.
  5. Oracle Identity Cloud Service 탐색 메뉴에서 Oracle Cloud Services를 선택합니다. 그룹 롤을 지정할 Oracle Blockchain Platform 인스턴스를 찾습니다. 해당 인스턴스의 세부 정보 페이지를 엽니다.
  6. [애플리케이션 롤] 탭으로 이동하여 [리소스] 네비게이터에 나열된 Oracle Identity Cloud Service 애플리케이션 롤을 봅니다.
  7. 지정하려는 롤을 선택하고 롤을 확장합니다. 역할에 대한 More 메뉴를 누르고 Assign Groups를 선택합니다.
  8. 그룹 지정 대화상자에서 역할에 지정할 그룹을 선택하고 지정을 누릅니다.

ClientIdClientSecret 인출

Oracle Blockchain Platform ClientIDClientSecret은 Visual Builder에서 활용할 수 있습니다. 시각적 빌더 백엔드 구성에 설명된 대로 나중에 Visual Builder에서 해당 매개변수를 업데이트해야 합니다.

Oracle Blockchain Platform 인스턴스에 대한 클라이언트 ID 및 클라이언트 암호를 검색하려면 다음과 같이 하십시오.

  1. Oracle Cloud Infrastructure 계정에 사인인합니다. OAuth 설정을 관리할 수 있는 충분한 관리 권한이 있는지 확인합니다.
  2. 콘솔에서 왼쪽 상단 모서리에 있는 탐색 메뉴를 누릅니다.
  3. ID에서 도메인을 선택합니다.
  4. [도메인] 페이지에서 Oracle Identity Cloud Service를 누릅니다.
  5. Oracle Identity Cloud Service 탐색 메뉴에서 Oracle Cloud Services를 선택합니다. 클라이언트 ID 및 클라이언트 암호를 인출할 Oracle Blockchain Platform 인스턴스를 찾습니다. 해당 인스턴스의 세부 정보 페이지를 엽니다.
  6. 인스턴스 세부정보 페이지를 열면 표시되는 기본 탭이 OAuth 구성 탭이 됩니다. 이 탭에는 Oracle Blockchain Platform 인스턴스의 OAuth 설정과 관련된 필수 정보가 포함되어 있습니다.

    General Information 섹션에 Client ID 및 Client Secret이라는 필드가 있습니다. 이러한 인증서는 Oracle Blockchain Platform에 대한 API 요청을 인증하는 데 사용됩니다.

다중 조직 구성

여러 조직이 포함된 복잡한 Oracle Blockchain Platform 네트워크를 만드는 경우 설립자에 참가자를 추가하십시오. 이 프로세스에 대한 개요는 Oracle Blockchain Platform 관리 설명서: 네트워크에 OBCS 참가자 조직 추가에서 제공됩니다.

Oracle Blockchain Platform용 Rich History Database 구성

리치 내역 데이터베이스 구성 및 사용에 대한 자세한 내용은 리치 내역 데이터베이스 생성을 참조하십시오.

이 단계를 완료하기 전에 Oracle Blochain Platform에 대한 풍부한 기록 데이터베이스를 사용으로 설정하려면 Autonomous Database 프로비전에 설명된 대로 Autonomous Database 인스턴스를 생성해야 합니다.

  1. 네트워크 인스턴스에 대한 Oracle Blockchain Platform 콘솔을 엽니다.
  2. 오른쪽 상단 모서리에 있는 작업 더 보기 메뉴를 누르고 서식 있는 내역 구성을 선택합니다.
  3. Oracle 데이터베이스에 액세스하고 쓸 수 있는 접속 문자열과 인증서를 제공하여 Oracle 데이터베이스 접속을 지정합니다. 제공하는 인증서는 데이터베이스의 인증서이며 Oracle Blockchain Platform은 이를 관리하지 않습니다.
  4. 저장을 눌러 리치 내역 데이터베이스를 구성합니다.

등록 생성

CB_CBDC_ADMINSFI_CBDC_ADMINS 그룹에서 사용자에 대한 등록을 수동으로 생성해야 합니다.

Oracle Blockchain Platform의 REST 프록시 등록은 사용자가 등록 인증서 없이 블록체인과 상호 작용할 수 있는 메커니즘을 제공하여 애플리케이션 ID를 블록체인 멤버에 매핑하여 API 호출을 간소화합니다. 체인 코드에 대한 호출을 시작하려면 Oracle Blockchain Platform 내에서 등록을 설정해야 합니다.

도매 CBDC 애플리케이션은 계정 설정 중 사용자에 대한 등록 생성을 관리합니다. 그러나 CBDC 관리자 사용자가 처음 로그인하면 등록이 존재하지 않습니다. 따라서 이 사용자가 계정을 만들려고 하면 RestProxy 호출이 실패합니다. 따라서 CBDC ADMIN 그룹에 대한 등록을 생성해야 합니다.

계정을 설정할 때 해당 조직에 대한 등록이 생성됩니다. 예를 들어, 중앙 은행(CB)에 대한 계정이 설정된 경우 해당 등록이 생성됩니다. 그러나 CBDC 관리 페이지를 통해 FI(Financial Institution) 계정이 생성된 경우 해당 FI에 대한 등록이 자동으로 생성되지 않습니다. 이 도매 CBDC 워크플로우에서는 CB 관리 페이지 내에서 FI 관리자 계정을 설정해야 합니다. 따라서 사용자는 중앙 은행과 금융 기관 간의 고유한 조직 구조로 인해 이러한 등록이 자동으로 생성되지 않으므로 FI 관리자 그룹에 대한 등록을 수동으로 생성해야 합니다.

등록 생성 방법에 대한 자세한 내용은 REST 프록시에 등록 추가를 참조하십시오.

RestproxyId 가져오기

RestproxyId는 Visual Builder에서 활용됩니다. 시각적 빌더 백엔드 구성에 설명된 대로 나중에 Visual Builder에서 이를 업데이트해야 합니다.

Oracle Blockchain Platform 인스턴스에 대한 RestProxyId을 검색하려면 사용자가 관리 사용자 계정을 사용하여 Oracle Blockchain Platform 콘솔 API를 호출해야 합니다. 인증은 기본 인증 또는 OAuth 2.0을 통해 수행할 수 있습니다.

인증 방식

OAuth 2.0의 경우 OAuth 2.0 액세스 토큰 기반 인증의 설명서를 참조하여 필요한 인증 플로우를 구현하십시오.

RestProxyId 인출을 위한 API 끝점

다음 끝점으로 요청을 전송하여 Oracle Blockchain Platform 콘솔 API를 사용하여 RestProxyId를 가져옵니다.

GET <obp_url>/console/admin/api/v2/nodes

이 API 호출은 인스턴스에 구성된 REST 프록시에 대한 세부정보를 포함하는 응답을 반환합니다.

콘솔 API에 대한 자세한 내용은 다음 설명서를 참조하십시오. Get Node List

응답 세부정보

응답에서 RESTProxies라는 섹션을 찾습니다. 여기서 해당하는 RestProxyId을 찾을 수 있습니다. 응답 구조에는 각 REST 프록시 노드와 연관된 다양한 속성이 포함됩니다.

"RESTProxies": [
        {
            "status": "up",
            "extInfo": [],
            "displayName": "restproxy",
            "RESTProxyId": "48021a2c-e62b-40bd-b7ca-71dda883521d-restproxy",
            "url": "https://fibank3-oabcs1-hyd.blockchain.ocp.oraclecloud.com:7443/restproxy",
            "mspId": "FIBank3"
        }
    ]

도매 CBDC 샘플 애플리케이션에 대한 체인 코드 배포

이제 채널을 생성하고 샘플 애플리케이션 체인코드를 여기에 배치할 수 있습니다.

  1. 채널 생성.
    1. 조직 요구사항에 따라 필요한 참가자와 함께 새 채널을 정의합니다.
    2. 채널 생성 프로세스 중 서식 있는 기록 사용이 선택되어 있는지 확인합니다. 이 옵션은 이전에 구성된 리치 내역 기능을 활성화합니다.
  2. 체인 코드를 배치합니다.
    도매 CBDC 체인코드 패키지에 제공된 도매 CBDC 체인코드를 새로 생성된 채널에 배포합니다. 체인코드를 배포하는 방법에 대한 자세한 내용은 체인코드를 배포하는 일반적인 워크플로우를 참조하십시오.
  3. 도매 CBDC 체인코드 패키지에 제공된 도매 CBDC Postman 모음을 사용하여 init API를 호출합니다. 이 단계는 초기화 프로세스를 완료하여 체인코드를 사용할 준비가 되었는지 확인합니다.
    Wholesale CBDC Chaincode Package를 참조하십시오.
  4. 복제 상태를 확인합니다.
    1. Channels(채널) 탭으로 이동합니다.
    2. 채널을 찾아 채널 항목의 오른쪽에 있는 작업 더 보기 메뉴를 누릅니다.
    3. 복제 상태를 보려면 서식 있는 내역 상태를 선택합니다.
      • 상태가 REPLICATING인 경우 채널 데이터가 리치 기록 데이터베이스에 활발하게 복제되고 있음을 나타냅니다.
      • 복제 상태가 USER_DISABLED인 경우 다음 작업을 수행합니다.
        1. 피어 다시 시작: 채널과 연관된 피어 노드를 다시 시작합니다.
        2. 트랜잭션 호출: 채널에서 트랜잭션을 트리거하여 데이터 복제를 시작합니다.
        3. 복제 상태를 다시 검사하여 데이터가 리치 내역 데이터베이스로 복제되고 있는지 확인합니다.
채널 이름과 체인코드 이름을 적어 두십시오. 샘플 애플리케이션을 사용하려면 Visual Builder를 이러한 이름으로 구성해야 합니다.

서식 있는 내역 데이터베이스 뷰 생성

Oracle Blockchain Platform 인스턴스에 대한 리치 이력 데이터베이스를 생성한 후 데이터베이스 뷰 생성 스크립트를 실행하여 리치 이력 데이터베이스에 뷰를 생성하고 ORDS 끝점을 생성할 수 있습니다.

ORDS(Oracle REST Data Services) 스크립트는 내역 데이터베이스에서 계정 트랜잭션 세부정보를 검색하기 위해 ORDS 끝점을 노출하도록 설계된 TypeScript로 작성된 Node.js 애플리케이션입니다. RESTful 끝점을 생성하여 사용자가 리치 기록 데이터베이스에서 체인코드 트랜잭션 데이터(TypeScript 및 Go 체인코드)를 인출할 수 있습니다. 또한 끝점을 인증하고 액세스할 수 있도록 ORDS 끝점, clientId, clientSecret, Bearer 토큰과 같은 필수 인증서를 제공합니다.
  1. 데이터베이스 뷰 생성 스크립트를 다운로드합니다.
    1. Oracle Blockchain Platform 콘솔을 엽니다.
    2. Digital Assets 탭으로 이동합니다.
    3. 왼쪽 사이드바에서 도매 CBDC 응용 프로그램으로 이동합니다.
    4. WholesaleCBDC에 대한 Oracle Database 뷰 정의 영역에서 스크립트를 다운로드합니다.
  2. 스크립트를 다운로드한 후 실행 방법에 대한 자세한 내용은 Oracle Database View Definitions for Wholesale CBDC를 참조하십시오.
    스크립트를 실행할 때 도매 CBDC 체인 코드가 TypeScript로 기록되므로 TypeScript(TS)를 언어로 선택하라는 메시지가 표시됩니다.
  3. 이 스크립트는 ORDS 끝점, 클라이언트 ID 및 클라이언트 암호를 반환합니다.
    {
      ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
      clientId: '<clientId>',
      clientSecret: '<clientSecret>',
      bearerToken: {
        access_token: '<BearerToken>',
        token_type: 'bearer',
        expires_in: 3600
      }
    }
RESTful 서비스에 액세스하기 위한 ORDS 끝점은 다음 구조를 따릅니다.
ORDS_REST_BASE_URL/ords/ALIAS_NAME/BASE_PATH/PATTERN
  • ORDS_REST_BASE_URL: ORDS 서비스의 기본 URL입니다.
  • ALIAS_NAME: ORDS에 구성된 데이터베이스 또는 스키마 별칭입니다.
  • BASE_PATH: RESTful 서비스의 기본 경로입니다.
  • PATTERN: RESTful 서비스에 대한 특정 끝점 패턴입니다.
인증을 위해 Bearer 토큰을 생성하려면 OAuth2 토큰 끝점을 사용합니다.
ORDS_REST_BASE_URL/ords/ALIAS_NAME/oauth/token
풍부한 내역 데이터베이스에서 데이터를 검색하려면 Visual Builder의 백엔드에서 ORDS와 관련된 다음 매개변수를 업데이트해야 합니다. 이 작업은 나중에 Visual Builder 백엔드 구성에서 완료됩니다.
  • clientId
  • clientSecret
  • ORDS 끝점
  • OAuth 기본 URL: ORDS_REST_BASE_URL/ords/<userName|aliasName>