
Fabric Gateway SDK란
Fabric Gateway는 서비스로, Fabric 네트워크와 상호작용하기 위한 간단하고 최소화된 API를 제공한다.
Fabric Gateway의 역할
- 트랜잭션 제안을 검토하여 스마트 컨트랙트(체인코드)를 호출하고 결과를 클라이언트에 반환한다.
- 게이트웨이는 게이트웨이 피어와 동일한 조직의 보증 피어를 선택하고 블록 높이가 가장 높은 피어를 선택한다.
- 서명 정책에 필요한 보증 응답들을 수집하고 서명이 필요한 트랜잭션 봉투를 클라이언트에 반환한다.
- Ordering Service에 서명된 트랜잭션 봉투를 제출한다.
- 클라이언트에게 ledger에 커밋 되었는지에 대한 결과와 커밋 상태 코드를 제공한다.
- 체인코드에서 발생하는 이벤트를 수신한다.
- 이에 따라 클라이언트에서 스마트 컨트랙트에서 발생하는 이벤트에 응답할 수 있다.
=> Endorse / Submit / CommitStatus / SubmitTransaction 기능
Gateway가 트랜잭션 제안을 승인받는 방법
트랜잭션이 ledger에 커밋되기 위해서 보증 정책을 충족하기 위해 충분한 수의 보증이 필요하다.
조직에서 승인을 얻으려면 피어 중 하나에 연결하고 트랜잭션에 대한 시뮬레이션을 실행한다.
- 체인코드 승인 정책 : 체인 코드 정의를 승인할 때 동의한 정책
- Private Data Collection 승인 정책 : 체인 코드 함수가 Private Data Collection에 쓰는 경우 정책
- 상태 기반 보증 정책(State-Based Endorsement Policy,SBE) : key-value 서명 정책이라고도 불리며 개별 상태에 적용할 수 있다.
보증 관리
- 가장 높은 블록 높이를 가진 피어를 식별하여 gateway 피어의 조직에서 보증피어를 선택한다.
- 트랜잭션 제안은 보증 피어에서 시뮬레이션 된다. 시뮬레이션을 통해 필요한 보증 정책에 대한 정보를 캡처 한다.
- gateway는 계획의 모든 정책을 충족하는 데 필요한 조직의 승인을 요청하여 승인 계획을 적용한다.
Fabric SDK VS Fabric Gateway SDK
Fabric SDK는 low-level SDK로 많은 양의 코드와 복잡성을 가지며 애플리케이션 개발자가 보증 및 트랜잭션이 작동하는 방식에 대해 많은 이해를 필요로 한다.
Fabric Gateway SDK는 high-level api를 포함하고 있어 애플리케이션 개발자의 부담을 줄일 수 있다.
Fabric Gateway SDK
CLI를 통한 UpdateAsset 수행

API를 구현하여 UpdateAsset 수행

실제 구현 코드
- ordererIP, ordererName, ordererCertPath, networkPath(네트워크 환경에서의 경로)
- CORE_PEER_TLS_ENABLED,CORE_PEER_LOCALMSPID,CORE_PEER_TLS_ROOTCERT_FILE, CORE_PEER_MSPCONFIGPATH
- channelName, chaincodeName 의 정보가 필요함.

Fabric Gateway SDK를 활용한 구현
- mspId,networkPath,certPath,keyPath,tlsCertPath,peerEndpoint,gatewayPeer,channelName,chaincodeName → Orderer에 대한 정보 필요없음.
- 위 정보를 통해 gateway와 gRPC연결하면 해당 변수값을 통해 지속적으로 스마트 컨트랙트의 함수를 실행할 수 있다.






Gateway 연결 및 초기 설정




'블록체인' 카테고리의 다른 글
블록체인 해커톤 후기 (0) | 2022.12.02 |
---|---|
프로젝트 - 서버에 파일 업로드, 다운로드 기능 개발 (0) | 2022.10.01 |
FireFly와 Fabric의 스마트 컨트랙트 배포,실행 비교 (0) | 2022.09.04 |
하이퍼 레저 패브릭 - 개요 (0) | 2022.06.29 |

Fabric Gateway SDK란
Fabric Gateway는 서비스로, Fabric 네트워크와 상호작용하기 위한 간단하고 최소화된 API를 제공한다.
Fabric Gateway의 역할
- 트랜잭션 제안을 검토하여 스마트 컨트랙트(체인코드)를 호출하고 결과를 클라이언트에 반환한다.
- 게이트웨이는 게이트웨이 피어와 동일한 조직의 보증 피어를 선택하고 블록 높이가 가장 높은 피어를 선택한다.
- 서명 정책에 필요한 보증 응답들을 수집하고 서명이 필요한 트랜잭션 봉투를 클라이언트에 반환한다.
- Ordering Service에 서명된 트랜잭션 봉투를 제출한다.
- 클라이언트에게 ledger에 커밋 되었는지에 대한 결과와 커밋 상태 코드를 제공한다.
- 체인코드에서 발생하는 이벤트를 수신한다.
- 이에 따라 클라이언트에서 스마트 컨트랙트에서 발생하는 이벤트에 응답할 수 있다.
=> Endorse / Submit / CommitStatus / SubmitTransaction 기능
Gateway가 트랜잭션 제안을 승인받는 방법
트랜잭션이 ledger에 커밋되기 위해서 보증 정책을 충족하기 위해 충분한 수의 보증이 필요하다.
조직에서 승인을 얻으려면 피어 중 하나에 연결하고 트랜잭션에 대한 시뮬레이션을 실행한다.
- 체인코드 승인 정책 : 체인 코드 정의를 승인할 때 동의한 정책
- Private Data Collection 승인 정책 : 체인 코드 함수가 Private Data Collection에 쓰는 경우 정책
- 상태 기반 보증 정책(State-Based Endorsement Policy,SBE) : key-value 서명 정책이라고도 불리며 개별 상태에 적용할 수 있다.
보증 관리
- 가장 높은 블록 높이를 가진 피어를 식별하여 gateway 피어의 조직에서 보증피어를 선택한다.
- 트랜잭션 제안은 보증 피어에서 시뮬레이션 된다. 시뮬레이션을 통해 필요한 보증 정책에 대한 정보를 캡처 한다.
- gateway는 계획의 모든 정책을 충족하는 데 필요한 조직의 승인을 요청하여 승인 계획을 적용한다.
Fabric SDK VS Fabric Gateway SDK
Fabric SDK는 low-level SDK로 많은 양의 코드와 복잡성을 가지며 애플리케이션 개발자가 보증 및 트랜잭션이 작동하는 방식에 대해 많은 이해를 필요로 한다.
Fabric Gateway SDK는 high-level api를 포함하고 있어 애플리케이션 개발자의 부담을 줄일 수 있다.
Fabric Gateway SDK
CLI를 통한 UpdateAsset 수행

API를 구현하여 UpdateAsset 수행

실제 구현 코드
- ordererIP, ordererName, ordererCertPath, networkPath(네트워크 환경에서의 경로)
- CORE_PEER_TLS_ENABLED,CORE_PEER_LOCALMSPID,CORE_PEER_TLS_ROOTCERT_FILE, CORE_PEER_MSPCONFIGPATH
- channelName, chaincodeName 의 정보가 필요함.

Fabric Gateway SDK를 활용한 구현
- mspId,networkPath,certPath,keyPath,tlsCertPath,peerEndpoint,gatewayPeer,channelName,chaincodeName → Orderer에 대한 정보 필요없음.
- 위 정보를 통해 gateway와 gRPC연결하면 해당 변수값을 통해 지속적으로 스마트 컨트랙트의 함수를 실행할 수 있다.






Gateway 연결 및 초기 설정




'블록체인' 카테고리의 다른 글
블록체인 해커톤 후기 (0) | 2022.12.02 |
---|---|
프로젝트 - 서버에 파일 업로드, 다운로드 기능 개발 (0) | 2022.10.01 |
FireFly와 Fabric의 스마트 컨트랙트 배포,실행 비교 (0) | 2022.09.04 |
하이퍼 레저 패브릭 - 개요 (0) | 2022.06.29 |