원서 : https://hyperledger-fabric.readthedocs.io/en/release-1.4/config_update.html
- What is a Channel Configuration?
- channel-configuration에는 channel 관리와 관련된 필요한 정보가 있습니다.
- 가장 중요한 점은 channel-configuration으로 organizations를 지정뿐만아니라, 'channel 접근정책' 이나 'block 사이즈' 등도 합니다.
- channel-configuration의 ledger의 한 block으로 저장이 되는데, 이를 config-block 이라고 합니다.
- 단 하나의 config-block에 모든 설정을 다 가지고 있어야 합니다.
- (genesis-block이 초창기 설정을 가지고 시작) -> ('설정변경'시, 새로운 config-block으로 완전대체)
- orderer 와 peer 는 현재 channel 설정정보를 메모리에 들고 있습니다.
- '설정변경'은 configuration-transaction 이라는 과정으로 처리됩니다. (일발 transaction 과 약간다름)
- 즉, configuration을 가지고 와서 -> 사람이 읽을 수 있게 바꾸고 -> 수정한뒤 -> 제출하고 승인받는 과정 입니다.
- Editing a Config
- channel-configuration은 다양한 수정정책이 있습니다.
- "Adding an Org to a Channel" 튜토리얼에서 봤던것 처럼, JSON 형식의 설정으로 파악하면 됩니다.
- 다양한 잡소리가 많지만... 그냥 아래와 같은 설정값을 보는게 최고입니다.
- Batch Size : block 속의 transaction 크기와 갯수.
- Batch Timeout : (첫 transaction 이후) block으로 짜를 대기시간.
- Channel Restrictions : orderer가 할당되는 총 channel 수.
- Channel Creation Policy : ...
- Kafka brokers : ...
- Anchor Peers Definition : 각 organization의 anchor-peer 정의.
- Hashing Structure : block 데이터의 해시는 Markle-Tree으로 계산되는데, 이 트리의 넓이.
- Hashing Algorithm : 해시값에 사용되는 알고리즘
- Block Validation : block이 유효할때, 요구되는 서명관련 정책. (디폴트 orderer organization의 member가 서명)
- Orderer Address : 클라이언트가 orderer 호출에 사용 할 수 있는 주소.
- (참고적으로 consensus type은 한번 정하고, 네트워크가 부트스트랩되면~ 수정 할 수 없습니다.)
- "Adding an Org to a Channel" 튜토리얼에서 했던것 처럼, 노다가 뛰면... 위 설정값 수정할수있겠죠.
- Get the Necessary Signatures
- 최종적인 '설정변경'을 마무리 하려면, 서명을 해야하는데~ 각에 설정값 마다의 서명정책을 알아둘 필요가 있습니다.
- organization 관련 : 'anchor-peer 설정'같이... 해당 organization의 '관리자 서명'이 필요합니다.
- application 관련 : 'organization 설정'같이... 대다수의 application organization에 '관리자 서명'이 필요합니다.
- orderer 관련 : 대다수의 orderer organization에 '관리자 서명'이 필요합니다.
- 최상위 channel 그룹 관련 : application organization 및 orderer organization 둘다에 '관리자 서명'이 필요합니다.
- ...
- ...
- 이렇게... 아무튼... 서명을 잘... 다 받아서, 하는식의 처리를~ Fabric 차원에서 적절히 제공한다고 하니 ㅎ
- ...
- ...
- 아무튼 결과적으로 ledger에 새로운 config-block이 추가되면, 꼭! 받아서 -> JSON변환해서 -> 꼼꼼히 재확인 하세요.
- (최신설정의 사본으로써도 유용합니다.)
- 최종적인 '설정변경'을 마무리 하려면, 서명을 해야하는데~ 각에 설정값 마다의 서명정책을 알아둘 필요가 있습니다.
-끝-
'hyperledger > fabDoc.Ops-Guides' 카테고리의 다른 글
Endorsement policies (0) | 2019.08.03 |
---|---|
Channel Configuration (configtx) (0) | 2019.08.03 |
Membership Service Providers (MSP) (0) | 2019.08.03 |
Setting up an ordering node (0) | 2019.08.03 |
Upgrading to the Newest Version of Fabric (0) | 2019.08.03 |