#9. 패브릭 이벤트
ㅇ블록체인 상에서 발생한 사건들(블록생성, 스마트컨트랙트의 액션발생 시)을 외부로 전달가능함.
ㅇ다른 네트워크의 이벤트
-이더리움 : 웹소켓 사용하여 이벤트를 주기적 전달 받거나, RPC콜로 이벤트 질문 가능.
-비트코인 : 자신의 지갑주소로 돈이 들어왔을 때 알림 기능 등 서버에서 SDK 사용 등.
ㅁ이벤트. “ 블록이 새로 생겼다? ”
ㅇ다양한 레벨의 이벤트 수신 가능 , SDK 이용 PEER로 부터 이벤트를 수신하며-
-grpc를 통해서 가능한 것임. “해쉬넷grpc”
-(예) fabric-samples - balance transfer - artifacts - docker-compose.yaml
ㆍ 두 개의 포트가 열려있음. ports : 7051:7051(오더러와 소통) , 7053:7053(외부 앱과의 소통)
-(예) fabric-samples - balance transfer - artifacts - network-config.yaml
ㆍ my channel - peers : 각 피어 별로 설정 가능 부분. EventSource 가 true 면,
ㆍ SDK에서 해당 .yaml 을 갖고 사용할 때에 해당 피어는 이벤트를 수여 가능하다고 보고 만들기 가능.
ㆍ 그럼 해당 peer의 eventURL 을 가지고 설정 하는 함. : 이것이 grpc를 통해서 이벤트 푸쉬 받는 것임.
ㅇ이벤트 기능
-이벤트 받을 때, 시작 블록 끝 블록 설정 혹은 블록 넘버지정으로 이벤트를 요청가능.
ㆍ 놓친 이벤트도 ‘replay’ 기능으로 가져올 수 있다.
ㆍ block from ~ to 가능(replay도 가능)
-1.1 이후, ‘ Channel based event ’ 추가: SDK에서 해당 채널에 관련된 정보주면 채널 관련 이벤트만 SDK가 받아올 수 있음. 유져입장에서 유용한 기능이 추가된 것.
(1.0 까지는 이벤트 허브로 이벤트 서비스를 제공해서- 채널 상관없이 블락을 정렬없이 받았음-)
ㅇ엔터프라이즈 블록체인의 아키텍쳐(보통)
ㅇ패브릭 이벤트의 종류
-블록 이벤트: 블록 새로 생성 됐을 때, 이벤트 발생. SDK에서 생성된 채널.
ㆍ Full block : 전체 내용을 가지고 옴.
ㆍ Filtered block : event에 있는 payload를 안가지고 옴.
-TX 이벤트: 유져가 트랜잭션 제출 했을 때, 해당 트랜잭션이 커밋 가능한 지에 대한 여부 확인.
-체인코드 이벤트: 체인코드 내부에서 셋 이벤트 사용 가능.
ㆍ chainCode 내 SetEvent(eventname, payload) : 이벤트 네임 찍고, 그것이 발생했을 때에 무엇을 할 것인지.
※이벤트 네임을 특수하게 짓든지, 식별자를 두어야 함.
'Hyper_Ledger > 자습실' 카테고리의 다른 글
[dapp campus / 개념] #10. 패브릭 유져관리(#.10 _1, #.11_2) (0) | 2019.11.21 |
---|---|
[dapp campus / 개념] #8. 패브릭 가십 프로토콜 (0) | 2019.11.20 |
[dapp campus / 개념] #7. 패브릭 채널 (0) | 2019.11.20 |
[dapp campus / 개념] #5. 패브릭 아이덴티티(#.5 _1, #.6 _2) (0) | 2019.11.19 |
[dapp campus / 개념] #4. 패브릭 네트워크 세팅 가이드(이론) (0) | 2019.11.19 |