1편에 이어 IBM Blockchain Platform(이하 IBP) Extension for VS Code 사용법에 대해 알아봅니다.

2편에서는 IBP Extension for VS Code의 구성요소에 대해
자세히 알아봅니다.

아래 이미지들은 IBP Extension for VS Code를 이용해서 Fabric Network를 구동하고 체인코드를 디플로이한
최종 상태의 모습을 캡쳐한 것들입니다.

IBP for VS code의 레이아웃(Side Bar) 구성은 크게 4개로 이루어져 있습니다.

하나씩 천천히 살펴보겠습니다.

1. SMART CONTRACT PACKAGES

여기에서는 체인코드 프로젝트를 생성하거나 VS Code WorkSpace에 있는 체인코드 프로젝트를 패키지화 할 수 있습니다.
기존에 만든 체인코드를 import 할 수도 있습니다.

저는 test-cc라는 이름의 체인코드를 만들어 패키지화 했습니다.

@를 기준으로 앞에는 패키지명이 뒤에는 버전이 들어갑니다.

만약 여러개의 체인코드가 패키지화 된다면 리스트 형태로 표현되겠죠?

2. LOCAL FABRIC OPS

여기에서는 Fabric Network를 구동(START/RESTART)하거나 정지(STOP) 삭제(TEARDOWN) 할 수 있는 오퍼레이션 공간입니다.

Fabric Sample 소스를 한번 구동해보신 분이라면 쉽게 이해하실 수 있을 겁니다.
(https://github.com/hyperledger/fabric-samples.git)

Fabric Sample 소스 중 basic-network의 Script로 되어 있는 부분(start.sh, stop.sh, teardown.sh)을
GUI(Graphic User Interface)형태에서 조작할 수 있는 공간이라고 보시면 됩니다.

특히 1번에서 패키지화된 체인코드를 install/instaniate/upgrade 할 수 있는 공간이기도 합니다.

현재 구성된 채널/노드/조직(Org)도 확인할 수 있죠.

실제 이 곳에서 Fabric Network를 구동하면 1개의 Peer/CouchDB, 1개의 CA, 1개의 orderer 가 생성됩니다.
(이따가 직접 한번 해보겠습니다)

3. FABRIC GATEWAYS

여기에서는 현재 연결된 Fabric Gateway와 연결된 채널, 채널 안에 디플로이된 체인코드 이름을 확인 할 수 있습니다.

특히 디플로이된 체인코드를 선택하고 마우스 오른쪽 버튼을 클릭하여 Invoke/Query를 날릴 수 있습니다.

VSCode 에서는 Invoke/Query를 각각 Submit Transaction/Evaluate Transaction으로 표현하고 있습니다.

원장이 변경(Create,Update)되는 function을 호출할 땐 Submit Transaction,
원장을 조회(Read)하는 function을 호출할 땐 Evaluate Transaction을 부른다고 생각하시면 됩니다.

4. FABRIC WALLETS

채널에 연결하여 기능(Execute)을 수행할 User Identity를 보관하는 장소입니다.

디폴트로 admin(관리자) Identity가 보관됩니다.

새로운 Identity를 만들거나 기존에 존재하고 있는 Identity(단, file system 형태로 존재해야 합니다)를 import 할 수 있습니다.

대략적인 구성요소에 대한 설명이 끝났습니다.

다음 시간에는 실제로 하나씩 구동해보는 시간을 갖도록 하겠습니다.

3편에서 만나요