2-5. IBP 2.0 블록체인 네트워크 구축(샘플)


아래 간단한 샘플 예시를 통해 IBP 위에 여러 컴포넌트들을 생성하고 활용하는 모습에 대해 보여드리겠습니다.

*샘플 구성
– peer : 1ea
– orderer : 1ea(solo)
– ca : 2ea
– org: 2ea
– channel : 1ea
– chaincode : 1ea

샘플 시나리오 시작하기

  1. CA 생성 – Peer 조직용
  2. – 인증 기관 추가 클릭

    – 새로 만들기

    – 인증 기관 이름 설정(pvc와 관련)

    – CA 관리자 ID/비밀번호 설정

    – CA Pod 스펙 설정

    – 요약(Summary) 표시

    – 콘솔 창에 추가된 모습 확인

  3. CA 생성 – Orderer 조직용
  4. 위와 동일(ca 이름은 ca1로 할 것)
    완료시 아래와 같은 모습 확인

  5. 인증서 생성 – Peer 조직용
  6. – ca0 클릭 > 사용자 등록 버튼 클릭

    – peer 조직 admin 등록


    – 사용자 등록 버튼 클릭


    – 리스트에 추가된 모습 확인


    – peer 조직 peer 등록


    – 리스트에 추가된 모습 확인

  7. 인증서 생성 – Orderer 조직용
  8. 위 내용과 동일하게 ca1에서 진행
    1. ordereradmin / ordereradminpw / client
    2. orderer / ordererpw / peer

    orderer용 CA의 최종 모습은 아래와 같습니다.

  9. MSP 생성 – Peer 조직용
  10. 조직탭 > MSP 정의 작성 > 아래와 같이 설정


    생성 > 내보내기 > MSP 정의 작성 버튼 클릭

  11. MSP 생성 – Orderer 조직용
  12. 조직탭 > MSP 정의 작성 > 아래와 같이 설정

    생성 > 내보내기 > MSP 정의 작성 버튼 클릭

    peer용 조직과 orderer용 조직이 추가된 모습 확인


    peer용 조직과 orderer용 조직의 admin Identity가 추가된 모습 확인

  13. Peer 생성
  14. – Peer 추가 버튼 클릭

    – Peer 이름 입력


    – Peer 인증서 지정

    – Peer Pod 스펙 지정


    -TLS CA 지정

    -Wallet에 저장된 admin 선택(해당 노드 컨트롤)

  15. Orderer(순서 지정 서비스) 생성
  16. – Orderer(순서 지정 서비스) 추가 버튼 클릭

    – Orderer 갯수 설정(solo/multi)


    – Orderer ID / MSP 설정


    – Orderer TLS CA 설정


    – Wallet에 저장된 admin 선택(Orderer 노드 컨트롤)


    – Orderer가 추가된 모습 확인

  17. Peer 컨소시엄 가입
  18. – Orderer > 컨소시엄 구성원 > 조직추가


    – 컨소시엄에 추가할 조직 MSP 선택

    조직 추가 버튼 클릭

  19. Channel 생성
  20. 메뉴 > 채널 > 채널 작성 버튼 클릭 > 채널 이름(예시 – mychannel)

  21. Channel 가입
  22. – 만들어진 채널(mychannel) > 보류 중 피어 추가 버튼 클릭

    – 해당 채널에 참여 가능한 피어 선택

  23. 스마트 컨트랙트(체인코드) 개발
  24. 스마트 컨트랙트(체인코드) 개발 방법은 아래 URL을 참고해 주세요

    https://developer.ibm.com/kr/cloud/blockchain/2019/06/05/ibm-blockchain-platform-extension-for-vs-code-01/
    https://developer.ibm.com/kr/developer-%ea%b8%b0%ec%88%a0-%ed%8f%ac%eb%9f%bc/2019/06/08/ibm-blockchain-platform-extension-for-vs-code-02/
    https://developer.ibm.com/kr/developer-%ea%b8%b0%ec%88%a0-%ed%8f%ac%eb%9f%bc/2019/06/08/ibm-blockchain-platform-extension-for-vs-code-03/

  25. 스마트 컨트랙트(체인코드) Install
  26. 위에서 개발한 스마트 컨트랙트를 vscode를 통해 .cds 파일로 추출할 수 있다.
    추출한 cds파일을 IBP에 Install/Deploy 하면 된다.

    메뉴 > 스마트 계약 > 스마트 계약 설치 > .cds파일 선택

    정상적인 파일이라면 아래와 같이 나타남(체인코드 이름 / 버전)

    – 스마트 계약 설치 버튼 클릭

  27. 스마트 컨트랙트(체인코드) Deploy
  28. -설치된 스마트 계약 > 인스턴스화 클릭


    – 체인코드를 배포(권한/정책) 할 채널 선택


    – 보증 정책(Endorsing Policy) 지정


    – Private Data Collection 지정(옵션)


    – 스마트 컨트랙트 초기화 함수 호출


    – 스마트 컨트랙트가 정상적으로 디플로이 시 peer 컨테이너에 아래와 같은 로그가 보여짐

마치며…

이것으로 IBP 2.0 for Multicloud(ICP) 설치하여 사용해보기 포스팅을 모두 마쳤습니다.

실제 하이퍼레저 패브릭 상에 각각의 컴포넌트를 생성하여 블록체인 네트워크를 구축하는 일은 굉장히 까다로운 작업입니다.
하지만 IBP를 활용하여 블록체인 네트워크를 생성하고 구축한다면 매우 심플하게 할 수 있음을 확인할 수 있었습니다.

다음 포스팅을 통해 Fabric SDK를 개발하고 실행해보는 등 더욱 다양한 IBP 상의 블록체인 네트워크 운영을 다뤄볼 예정입니다.

감사합니다.