#9. 패브릭 이벤트

ㅇ블록체인 상에서 발생한 사건들(블록생성, 스마트컨트랙트의 액션발생 ) 외부로 전달가능함.

ㅇ다른 네트워크의 이벤트

  -이더리움 : 웹소켓 사용하여 이벤트를 주기적 전달 받거나, RPC콜로 이벤트 질문 가능.

  -비트코인 : 자신의 지갑주소로 돈이 들어왔을  알림 기능  서버에서 SDK 사용 .

 

ㅁ이벤트. 블록이 새로 생겼다? ”

 ㅇ다양한 레벨의 이벤트 수신 가능 , SDK 이용 PEER 부터 이벤트를 수신하며-

 

  -grpc 통해서 가능한 것임. 해쉬넷grpc”

https://developer.ibm.com/kr/cloud/blockchain/blockchain-special-series/2018/11/11/hyperledger-fabric-architecture-5-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98%EA%B3%BC-grpc/

 

[Hyperledger Fabric] Architecture: 5 트랜잭션과 gRPC - IBM Developer

chaincode 작성의 최대 챌린지인 gRPC 뽀개기 얼마전에 blockchain 프로젝트 수행을 위한 회사 내부 교육을 이수했습니다. go-lang으로 chaincode를 실제로 개발하면서 가장 많이 부딪혔던 문제는, gRPC의 버전 문제와 gRPC 인터페이스 처리였습니다. 사실 gRPC 자체를 아예 잘 몰랐던 터라 어떻게 동작하는지 알기 어려워서 겪었던 문제였죠. 그래서 도대체 왜 Hyperledger Fabric은 HTTP 통신이 아니라 gRPC

developer.ibm.com

  -() 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) : 이벤트 네임 찍고, 그것이 발생했을 때에 무엇을  것인지.

       ※이벤트 네임을 특수하게 짓든지, 식별자를 두어야 .

+ Recent posts