솔루션 설치, 구성 및 배포

이 솔루션을 구현하기 위해 다음 절에 설명된 세 가지 주요 작업 영역이 있습니다.

  1. 블록체인 인프라 준비.
  2. 스마트 계약의 개발 및 배포
  3. 우리의 스마트 계약을 사용할 응용 프로그램의 생성.


oracle-blockchain-cms-plan-oracle.zip

Hyperledger Fabric 네트워크를 생성합니다. Hyperledger Fabric 네트워크는 처음에 단일 조직으로 구성되지만 필요한 만큼 쉽게 확장할 수 있습니다.

그런 다음 비즈니스 사용 사례에 필요한 엔티티를 블록체인으로 지속하고 관리하는 데 필요한 논리를 처리하기 위해 스마트 계약을 생성합니다.

스마트 계약 프로젝트가 생성되면 이전에 만든 블록 체인 네트워크에 설치하고 배포 한 다음 계정, 등록을 구성하고 마지막으로 스마트 계약 및 NFT 초기화를 실행합니다.

이 시점에서 스마트 계약 방식은 이미 Oracle Blockchain 인스턴스의 API 게이트웨이(RESTPROXY라고도 함)를 통해 게시되었으므로 클라이언트 애플리케이션에서 사용할 준비가 되었습니다. 이 경우 VBCS로 이미 생성한 웹 애플리케이션은 마지막 섹션에서 제공됩니다.

마지막 단계는 문서가 저장될 OCI 스토리지 버킷을 생성하는 것입니다. 마지막으로 마지막 단계는 새로 생성된 블록체인 네트워크와 테넌시에 구성된 새 버킷을 가리키도록 VBCS 샘플 애플리케이션을 재구성하는 것입니다. 모든 재구성이 완료되면 애플리케이션이 테넌시에 배치됩니다.

Oracle Blockchain Network 생성

Oracle Blockchain에 기반한 HLF(Hyperledger Fabric) 네트워크를 생성하기 위해 Oracle Blockchain Cloud Service를 사용하고 있습니다.

단일 인스턴스 HLF 네트워크를 만들려고 합니다. 사용 사례에 따라 네트워크에 속한 단일 조직 내에서 기능을 표시할 수 있습니다. 새로운 조직은 자체 Blockchain 인스턴스를 통합하여 네트워크에 가입 할 수 있습니다, 이러한 조직의 새로운 사용자가 자신의 폴더를 소유하거나 다른 구성원이 소유 한 기존 폴더의 콘텐츠를 검토 할 수 있습니다.

설립자 인스턴스 생성

  1. OCI 서비스 메뉴에서 개발자 서비스를 선택하고 블록체인 플랫폼을 누릅니다.
  2. OCI 콘솔 왼쪽에 있는 구획 콤보 선택기에서 인스턴스를 생성할 구획이 선택되었는지 확인합니다.
  3. 블록체인 플랫폼 생성을 누릅니다.
  4. 플랫폼에 표시 이름(예: org1)을 제공하고, 선택적으로 설명을 추가하고, 나머지 기본 선택사항을 설립자 인스턴스를 생성하는 설정대로 유지합니다. 이는 새로운 Hyperledger Fabric 네트워크의 설립자가 될 것이며, 엔터프라이즈 구성과 정확히 동일하지만 저렴한 비용으로 개발 작업에 유효한 표준 구성을 사용합니다. 생성을 누릅니다.
    이 조직에 대한 인스턴스 생성(org1)이 제출되었으며 몇 분 후 준비됩니다.
설립자 인스턴스가 생성되면 서비스 콘솔을 눌러 이 인스턴스에 대한 Oracle Blockchain 콘솔에 액세스할 수 있습니다.

채널 생성

설립자와 참가자 간의 커뮤니케이션을 허용하려면 채널 수준에서 조직에 가입해야합니다. 이 작업은 블록체인 서비스 콘솔을 사용하여 실행됩니다.

  1. 설립자 인스턴스의 블록체인 서비스 콘솔(org1)에서 채널 탭을 선택하고 새 채널 생성을 누릅니다.
  2. 필수 필드를 채웁니다.
    • wedocmsChannel Name 또는 기본 설정에 따라 이름을 설정합니다.
    • 채널 참가 피어 섹션에 대한 옵션(peer0peer1)을 선택합니다.
  3. 확인 팝업에서 를 눌러 생성을 확인합니다.
    채널 테이블에 새 채널이 표시되는지 확인합니다. 채널 세부정보를 보려면 채널 이름(wedocms)을 누릅니다. 원장 블록에 저장된 트랜잭션, 채널에 배치된 체인코드, 구성된 주문자 및 피어, 채널에 속한 조직 등 채널에 대한 모든 세부정보를 볼 수 있습니다.

사용자 계정 생성

Oracle Identity Cloud Service를 사용하여 폴더의 각 부서에 대해 하나 이상의 사용자를 변경할 수 있습니다. 이러한 각 사용자에게는 자신이 소유한 다른 폴더를 포함하도록 계정이 생성됩니다.

위험 부서에 속한 사용자 cmsrsk001, 재무 부서에 속한 사용자 cmsfin001 및 법률 부서에 속한 사용자 cmsleg001을 생성하려고 합니다.
  1. 왼쪽 상단 모서리에 있는 OCI 콘솔 탐색 메뉴에서 ID 및 보안을 누르고 [ID] 섹션에서 통합 옵션을 선택합니다.
  2. ID 제공자 이름 링크를 누릅니다.
  3. 사용자 생성을 누릅니다.
  4. 콘솔에 로그인하는 데 사용할 값 또는 스마트 계약의 REST API를 실행하는 권한 부여 사용자 이름으로 사용자 이름을 설정합니다. 전자메일 필드에서 OCI 계정의 전자메일을 설정하면 이 사용자에 대한 비밀번호 재설정 전자메일이 수신되고 생성을 누릅니다.
  5. 롤 지정을 누릅니다.
  6. AUTOBLOCKCHAIN 서비스의 경우 오른쪽에 있는 줄임표를 누르고 인스턴스 액세스 관리를 선택합니다.
  7. 생성한 사용자에 따라 다음 테이블을 기반으로 권한 부여를 지정하고 올바른 롤을 지정한 후 인스턴스 설정 업데이트를 누릅니다. 올바르게 지정된 역할이 표시됩니다.

    테이블 - 역할 지정

    사용자 이름 인스턴스
    cmsrsk001 org1 관리자, REST_CLIENT
    cmsfin001 org1 관리자, REST_CLIENT
    cmsleg001 org1 관리자, REST_CLIENT
  8. (선택 사항) 부여된 롤을 알리는 전자메일을 사용자의 전자메일 주소로 보내라는 메시지가 표시됩니다.
  9. 사용자 생성 프로세스 중 최근에 생성된 사용자와 연계된 전자메일 계정으로 이 사용자의 비밀번호를 재설정하는 전자메일이 전송됩니다. 제공된 링크를 사용하여 방금 생성한 사용자의 비밀번호를 설정합니다.

REST 프록시 노드에서 등록 생성

Oracle Blockchain Platform은 REST 프록시 등록을 지원합니다. 해당 등록은 FT 또는 NFT 토큰이 있는 체인 코드에서 호출자의 ID를 트랜잭션을 실행하는 역할에 매핑하는 데 사용됩니다. 이를 위해서는 블록체인에 정의된 역할과 사용자의 관계를 만들어야 하며, 단순하게 역할 이름을 사용자로 지정할 수 있습니다.

각 등록은 해당 역할을 가진 사용자가 해당 블록체인 인스턴스에서 REST 프록시를 통해 트랜잭션을 실행할 수 있는 인스턴스에 생성되어야 합니다. 따라서 사용자 cmsrsk001에 지정된 cmsrsk001 등록은 설립자 인스턴스의 REST 프록시 노드(org1)에 생성되어야 하며, 다음 표에 설명된 대로 다른 두 사용자에 대해 동일해야 합니다.
사용자 이름 등록 인스턴스
cmsrsk001 cmsrsk001 org1
cmsfin001 cmsfin001 org1
cmsleg001 cmsleg001 org1
  1. 설립자 인스턴스의 블록체인 서비스 콘솔(org1)에서 노드 탭으로 이동합니다.
  2. restproxy 옆에 있는 햄버거 메뉴를 누르고 등록 보기 또는 관리를 선택합니다.
  3. 새 등록 생성을 선택합니다.
  4. 등록 IDcmsrsk001로, 사용자 IDcmsrsk001로 설정하고 등록을 누릅니다.
4단계를 반복하여 다른 두 사용자 cmsfin001cmsleg001에 대한 등록을 만듭니다. 다른 조직의 사용자가 생성된 경우 해당 사용자에 대한 등록은 해당 사용자가 속한 블록체인 인스턴스의 REST 프록시에서 생성되어야 합니다.

Oracle Blockchain App Builder 개발 환경 준비

HLF(Hyperledger Fabric) 스마트 계약을 생성하려면 HLF에 대한 내재성, Java, Typescript 또는 GoLang에서 코딩하는 방법, 스마트 계약 프로젝트의 전체 수명 주기를 배포 및 관리하는 방법에 대한 지식이 필요합니다.

Oracle Blockchain App Builder는 스마트 계약 프로젝트 생성을 단순화하기 위해 만들어졌습니다. 실제로 Oracle Blockchain App Builder는 비즈니스 케이스에 필요한 커스터마이징 코드를 제외하고 전체 체인코드 프로젝트를 처음부터 생성할 수 있는 로우 코드 도구입니다. Oracle Blockchain App Builder는 테스트 단계, 프로젝트 패키징 및 단일 테스트를 위해 자체 컴퓨터에 로컬로 체인코드를 배포하거나 실제 Hyperledger Fabric 네트워크에 원격으로 배포하는 데도 도움이 됩니다.

oracle-app-builder-oracle.zip

Oracle Blockchain App Builder는 두 가지 유형으로 만들어졌습니다. CI/CD 프로세스의 구축 및 배포 단계를 자동화하는 명령행 도구로 사용하거나 Microsoft Visual Code 플러그인으로 사용할 수 있습니다. 두 가지 모두 동일한 기능을 실행할 수 있습니다. 기본 설정에 따라 원하는 기능을 선택하십시오. Oracle Blockchain App Builder에는 다음과 같은 기능이 있습니다.

  • 개발: Oracle Blockchain App Builder는 전체 체인코드 프로젝트를 생성하여 사용자정의된 사양 파일이라고 하는 것을 생성합니다. 프로젝트에는 모든 코딩된 엔티티, 모든 해당 접근자 및 해당 엔티티를 관리하는 모든 CRUD 메소드가 포함되며, 애플리케이션에 필요한 비표준 또는 복잡한 비즈니스 논리에 필요한 모든 사용자정의 메소드의 서명도 포함됩니다. 그러면 수동으로 구현하는 데 필요한 유일한 코드가 됩니다.
  • 배포: 체인코드 프로젝트를 테스트할 준비가 되면 사전 구성된 Hyperledger Fabric Network에 로컬로 배포하거나 기존 클라우드 또는 온프레미스 Oracle Blockchain Platform 인스턴스에 원격으로 배포할 수 있습니다. 또 다른 옵션은 Oracle Blockchain 콘솔을 통해 수동으로 배포할 프로젝트를 패키지화하는 것입니다.
  • 테스트: 프로젝트가 배치되면 자동으로 생성된 메소드 또는 체인코드 프로젝트의 사용자정의 메소드를 테스트할 수 있습니다.
  • 디버그: Visual Studio Code 확장을 사용하는 경우 체인 코드의 라인별 디버깅도 수행할 수 있습니다.

다음 두 가지 사용 가능한 Oracle Blockchain App Builder 버전 중 하나를 설치할 수 있습니다.

이러한 종류의 개발 툴과 모든 종속성을 설치하는 데 익숙하지 않지만 Oracle Cloud에 액세스할 수 있는 경우 이미 설치되어 있고 클라우드에 사용할 준비가 된 모든 제품이 포함된 전용 개발 상자를 생성하여 원격으로 액세스할 수 있습니다. 이러한 머신은 필요한 컴퓨트 구성으로 인해 비용 효율적이며, 가동 및 실행 중인 동안에만 비용이 청구됩니다.

Oracle LiveLabs에는 Oracle Blockchain 개발 팀에서 이미 사전 구성한 VM 이미지를 기반으로 몇 분 내에 원격 시스템을 배포할 수 있는 실습이 있습니다. 자세한 내용은 Apex 및 Blockchain App Builder를 사용하여 로우 코드 블록체인 애플리케이션 개발을 참조하십시오.

주:

실습에서는 Visual Code Studio 및 Oracle Blockchain App Builder 로우 코드 플러그인이 설치된 클라우드 머신을 준비하려면 설치 및 환경 설정 준비 단계만 실행하면 됩니다.

OCI Object Storage 버킷 생성 및 구성

Oracle Visual Builder 웹 애플리케이션에서 문서를 저장하고 검색할 수 있도록 OCI Object Storage 버킷을 구성합니다.

작업은 버킷에 문서를 업로드하는 동안 블록체인에 저장될 문서의 해시 생성 및 문서가 다운로드될 때 해시의 유효성 확인과 동기화하여 웹 애플리케이션에서 실행됩니다.

주:

Oracle Visual Builder 애플리케이션을 코딩하여 OCI Object Storage에서 파일을 업로드하거나 다운로드하는 방법에 대한 자세한 내용은 Visual Builder 앱에서 OCI Storage에서 파일 업로드/다운로드를 참조하십시오.

OCI Object Storage 버킷에서 제공하는 REST API를 통해 버킷 사용을 활성화하려면 REST API를 실행할 수 있는 사용자와 관련된 OCI API 키를 생성해야 합니다. 다음 두 가지 구성 작업을 실행하여 VBCS 웹 애플리케이션의 OCI Object Storage 버킷을 사용합니다.

Oracle Visual Builder 앱에서 OCI Object Storage 버킷 사용을 사용으로 설정하려면 OCI API 키를 생성하여 REST API를 통해 OCI 서비스에 액세스해야 합니다.

  1. OCI 콘솔에 로그인하고 콘솔 오른쪽 상단에 있는 프로파일 아이콘을 눌러 사용자 설정에 액세스합니다.
  2. 아래로 스크롤하고 리소스 메뉴에서 API 키를 누릅니다.
  3. API 키 추가를 눌러 새 API 키를 추가합니다.
  4. API 키 쌍 생성을 선택합니다.

    주:

    당신은 PEM 형식으로 자신의 공개 및 개인 키를 사용할 수 있지만,이 솔루션 플레이 북에서, 우리는 자동 생성 키를 사용합니다.
  5. 개인 및 공개 키를 다운로드하고 하나의 .pem 파일을 공개로 표시합니다.
  6. 추가를 누릅니다.
  7. 복사 링크를 눌러 OCI API 인증서를 로컬 컴퓨터의 텍스트 파일에 복사합니다. 이후 단계에서는 필요합니다.
  8. 닫기를 누릅니다.
    새 API 키를 생성해야 하며 OCI 웹 콘솔에 지문 키가 표시됩니다. 지문 행에서 줄임표를 누르고 구성 파일 보기를 선택하여 이전에 복사한 구성 파일에 액세스할 수 있습니다.

    주:

    다음 단계를 위해 일부 세부정보가 전용 키와 함께 필요하므로 저장하십시오.
  9. 객체가 저장될 버킷을 생성합니다. 스토리지로 이동한 다음 버킷을 누릅니다.
    단순성을 위해 인증을 필요로 하지 않도록 Public으로 생성할 수 있지만 Private 가시성 버킷에서도 동일한 작업을 수행할 수 있습니다.
  10. 버킷을 생성할 구획을 선택하고 버킷 생성을 누릅니다.
  11. 버킷 생성 화면에서 버킷에 이름을 지정하고 다른 구성 매개변수를 기본값으로 두고 생성을 눌러 버킷 생성을 완료합니다.
    새 버킷이 선택된 구획에 표시됩니다. 세부정보를 보려면 버킷 이름을 선택합니다. 왼쪽 메뉴에서 객체를 눌러 이 버킷에 업로드된 객체를 확인합니다.