一. pkg/client/event 通过event包可以访问Fabric网络上的通道事件。 事件客户端接收诸如块,过滤块,链代码和事务状态事件之类的事件。
- 基本流程
1)准备频道客户端上下文
2)创建事件客户端
3)注册事件
4)处理事件(或超时)
5)取消注册View Code1 ec, err := New(mockChannelProvider("mychannel")) 2 if err != nil { 3 fmt.Println("failed to create client") 4 } 5 6 registration, notifier, err := ec.RegisterChaincodeEvent("examplecc", "event123") 7 if err != nil { 8 fmt.Println("failed to register chaincode event") 9 } 10 defer ec.Unregister(registration) 11 12 select { 13 case ccEvent := <-notifier: 14 fmt.Printf("received chaincode event %v\n", ccEvent) 15 case <-time.After(time.Second * 5): 16 fmt.Println("timeout while waiting for chaincode event") 17 } 18 19 // Timeout is expected since there is no event producer