티스토리 뷰

반응형

Fabric 1.1 버전 변경 사항

기본 설명(버전 정보)

기존에 사용하던 Node-RED는 Hyperledger Fabric 1.0 버전 기반의 Hyperledger Composer 0.14.2 버전과 연결해 사용했습니다.

  • Composer 버전 : 0.14.2

  • Node-RED 버전 : 0.17.5

  • node-red-contrib-composer 버전 : 0.0.8

여기에서는 Hyperledger Fabric 1.1 버전을 사용하기 위해 Hyperledger Composer 0.19.7 버전과 연결해 Node-RED를 사용하는 방법을 살펴보겠습니다. 여기에서 사용하는 버전 정보는 다음과 같습니다.

  • Composer 버전 : 0.19.7

  • Node-RED 버전 : 0.18.7-v8

  • node-red-contrib-composer 버전 : 0.0.12

※ Node-RED의 기본 0.18.7 버전은 Node.JS v6 기반으로 만들어진 이미지이기 때문에 컨테이너 내에 node-red-contrib-composer 모듈을 설치할 때 오류가 발생할 수 있습니다. 때문에 Node.JS v8 기반으로 만들어진 0.18.7-v8 이미지를 사용해야 합니다.


flow.json 파일 수정

기존에 사용하던 flow.json 파일에서 hyperledger-composer-config 부분을 Fabric 1.1에 맞게 수정합니다. Composer card를 생성부분이 변경되었기 때문에, flow.json의 설정 방식도 변경되었습니다.


Fabric 1.0 버전에서의 flow.json

    {
        "id": "6dad7cfd.02bda4",
        "type": "hyperledger-composer-config",
        "z": "",
        "connectionProfile": "hlfv1",
        "businessNetworkIdentifier": "pig-trace-network",
        "userID": "admin",
        "userSecret": "randomString"
    },


Fabric 1.1 버전에서의 flow.json

    {
        "id": "6dad7cfd.02bda4",
        "type": "hyperledger-composer-config",
        "z": "",
        "cardName": "admin@pig-trace-network"
    },


.composer 디렉토리 권한 변경

기본적으로 로컬 환경에서 실행하는 경우에는 ~/.composer에 저장소가 생성됩니다.

여기에서는 hyperledger/composer-cli:0.19.7 이미지를 사용하는 pig-composer 컨테이너를 실행한 뒤, 로컬 환경에서 임의의 저장소인 .vld-card-store 디렉토리와 컨테이너 내의 ~/.composer 디렉토리를 볼륨으로 설정하고 해당 위치에 card를 생성하였습니다.

이제 Node-RED가 card 저장소를 읽을 수 있고, node-sdk 클라이언트에서 사용할 수 있도록 admin 자격 증명의 사용 권한을 수정해야 합니다.

docker exec \
  pig-composer \
  find /home/composer/.composer -name "*" -exec chmod 777 {} \;



Node-RED 컨테이너 실행

이제 Node-RED 컨테이너를 실행합니다.


Node-RED 실행

※ Node-RED를 실행하기 전에, Composer Rest Server가 정상적으로 실행중이어야 합니다.

위에서 설정한 .vld-card-store 디렉토리와 flow.json 파일을 볼륨으로 설정하고, Composer REST Server와 연결시켜줍니다.

docker run \
  -d \
  --network honeybee_default \
  --name pig-node-red \
  -v $(pwd)/.vld-card-store:/usr/src/node-red/.composer \
  -e COMPOSER_BASE_URL=http://pig-rest:3001 \
  -v $(pwd)/flows.json:/data/flows.json \
  -p 1881:1880 \
  nodered/node-red-docker:0.18.7-v8


custom node 설치

Node-RED가 실행되고 나면 composer와의 연결을 위해 node-red-contrib-composer npm 모듈을 설치하고 Node-RED 컨테이너를 재시작해줍니다.

node-red-contrib-composer의 버전은 Fabric 1.1에서 사용할 수 있는 0.0.12 버전을 설치합니다.

docker container exec \
  -e NPM_CONFIG_LOGLEVEL=warn \
  pig-node-red \
  bash -c "cd /data && npm install node-red-contrib-composer@0.0.12"
docker container restart pig-node-red


Node-RED 접속

http://localhost:1881 Node-RED 웹 페이지에 접속하면 다음과 같은 페이지가 출력됩니다.



반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함