Upgrading from v1.0.x(v1.0.x에서 업그레이드)

1.0.x 버전에서 패브릭 네트워크를 v1.1로 업그레이드하는 작업은 다음 단계를 수행하여 완료할 수 있습니다.

  • orderers, peers 및 fabric-ca용 바이너리를 업그레이드하십시오. 이러한 업그레이드는 병행하여 수행할 수 있습니다.
  • 클라이언트 SDK를 업그레이드하십시오.
  • v1.1 채널 기능 요구 사항을 사용합니다.
  • (선택 사항) Kafka 클러스터를 업그레이드합니다.

이 과정을 이해하는데 도움이 되도록 Upgrading Your Network Components(네트워크 구성요소 업그레이드) 튜토리얼을 만들었습니다. 이 튜토리얼을 통해 peers, orderers 업그레이드 및 기능 요구 사항 활성화를 비롯한 대부분의 주요 업그레이드 단계를 수행 할 수 있습니다.

이 튜토리얼은 Building Your First Network(BYFN) 샘플을 활용하기 때문에 특정 제한이 있습니다 (예 : Fabric CA는 사용하지 않습니다). 따라서 본 튜토리얼의 끝 부분에는 CA, Kafka 클러스터, CouchDB, Zookeeper, vendored chaincode shims 및 Node SDK 클라이언트를 업그레이드하는 방법이 나와 있습니다.

기능 요구 사항에 대한 자세한 내용을 보려면 여기를 클릭 하십시오.


출처 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/upgrade_to_one_point_one.html

Hyperledger Fabric 채널을 참고하세요.



이 콜랙션은 다양한 v1 특징과 요소들을 다음의 것과 같은 것을 시연하는 것을 포함합니다: 원장, 채널, 가십, SDK, Chaincode, MSP 등


출처 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/videos.html

 시스템 Chaincode 플러그인

시스템 Chaincode는 user의 Chaincode같이 분리된 Docker 컨테이너에서 실행되는 것과는 달리 피어 프로세스의 일부로 특별하게 작동하는 Chaincode입니다.

그러므로 시스템 Chaincode는 피어의 리소스에 더 많이 접근 할 수 있고, 유저 chaincode로 실행하기 어렵거나 불가능한 특징들을 실행하는 것에 사용됩니다.

시스템 Chaincode의 예시로는 Endorsing 제안의 ESCC(Endorser System Chaincode), 원장과 다른 fabric과 관련된 쿼리의 QSCC(Query System Chaincode) 마지막으론 커밋이 일어난 시점에 동시에 실행되는 VSCC(Validation System Chaincode)가 있습니다.

다른 유저 Chaincode들과는 달리, 시스템 Chaincode는 SDK나 CLI의 제안을 통해서 설치되거나 인스턴스화 되지 않습니다. 피어가 시작되는 순간에 등록되고 실행됩니다.

시스템 Chaincode가 피어와 연결되는 방법은 두가지가 있습니다.

Go 플러그인에서 정적이거나 동적으로 연결될 수 있습니다.

이번 튜토리얼은 시스템 Chaincode를 플러그인으로서 어떻게 개발하고 불러오는지를 배울 계획입니다.

플러그인 개발하기

시스템 Chaincode는 Go언어로 쓰여지고 Go 플러그인으로 불려집니다.

플러그인은 외부의 심볼와 main 패키지를 포함하고, 아래의 커맨드로 빌드합니다.

go build -buildmode=plugin

이미 존재하는 QSCC같은 Chaincode는 접근 관리 같은 전형적으로 시스템 Chaincode를 통해 실행되는 확실한 특징을 위한 탬플릿으로 취급 받습니다.

존재하는 시스템 Chaincode는 또한 로깅이나 테스팅 같은 최고의 예시로 참고할 수 있도록 취급받습니다.

- 주의 사항

임포트 된 패키지: Go 스탠다드 라이브러리는 플러그인이 반드시 호스트 어플리케이션에서 요구되는 버전과 같은 것을 포함해야합니다.

플러그인 설정하기

플러그인은 chaincode.systemPlugin 섹션에서 core.yaml로 설정 할 수 있습니다.

chaincode:
  systemPlugins:
    - enabled: true
      name: mysyscc
      path: /opt/lib/syscc.so
      invokableExternal: true
      invokableCC2CC: true

시스템 Chaincode는 반드시 chaincode.system 섹션에 core.yaml로 리스트가 될 수 있습니다.

chaincode:
  system:
    mysyscc: enable


출처 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/systemchaincode.html

+ Recent posts