|
1 | 1 | # What is block-listener
|
2 |
| -block-listener.go will connect to a peer and receive blocks events, transaction rejection events and chaincode events (if a chaincode emits events). |
| 2 | +## WIP : TODO for v1.0 using FAB-3037 |
| 3 | +Need to describe this tool, and all about events |
3 | 4 |
|
4 |
| -# To Run |
5 |
| -```sh |
6 |
| -1. go build |
7 |
| - |
8 |
| -2. ./block-listener -events-address=< event address > -listen-to-rejections=< true | false > -events-from-chaincode=< chaincode ID > |
9 |
| -``` |
10 |
| - |
11 |
| -# Example with PBFT |
12 |
| - |
13 |
| -## Run 4 docker peers with PBFT |
14 |
| -```sh |
15 |
| -docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:2375 -e CORE_PEER_ID=vp0 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft hyperledger/fabric-peer peer node start |
16 |
| - |
17 |
| -docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:2375 -e CORE_PEER_ID=vp1 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:7051 -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft hyperledger/fabric-peer peer node start |
18 |
| - |
19 |
| -docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:2375 -e CORE_PEER_ID=vp2 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:7051 -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft hyperledger/fabric-peer peer node start |
20 |
| - |
21 |
| -docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:2375 -e CORE_PEER_ID=vp3 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:7051 -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft hyperledger/fabric-peer peer node start |
22 |
| - |
23 |
| -## Attach event client to a Peer |
24 |
| -```sh |
25 |
| -./block-listener -events-address=172.17.0.2:7053 -listen-to-rejections=true |
26 |
| -``` |
27 |
| - |
28 |
| -Event client should output "Event Address: 172.17.0.2:7053" and wait for events. |
29 |
| - |
30 |
| -## Create a deploy transaction |
31 |
| -Submit a transaction to deploy chaincode_example02. |
32 |
| - |
33 |
| -```sh |
34 |
| -CORE_PEER_ADDRESS=172.17.0.2:7051 peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}' |
35 |
| -``` |
36 |
| - |
37 |
| -Notice success transaction in the events client. |
38 |
| - |
39 |
| -## Create an invoke transaction - good |
40 |
| -Send a valid invoke transaction to chaincode_example02. |
41 |
| - |
42 |
| -```sh |
43 |
| -CORE_PEER_ADDRESS=172.17.0.2:7051 peer chaincode invoke -n 1edd7021ab71b766f4928a9ef91182c018dffb86fef7a4b5a5516ac590a87957e21a62d939df817f5105f524abddcddfc7b1a60d780f02d8235bd7af9db81b66 -c '{"Function":"invoke", "Args": ["a","b","10"]}' |
44 |
| -``` |
45 |
| -Notice success transaction in events client. |
46 |
| - |
47 |
| -## Create an invoke transaction - bad |
48 |
| -Send an invoke transaction with invalid parameters to chaincode_example02. |
49 |
| - |
50 |
| -```sh |
51 |
| -CORE_PEER_ADDRESS=172.17.0.2:7051 peer chaincode invoke -n 1edd7021ab71b766f4928a9ef91182c018dffb86fef7a4b5a5516ac590a87957e21a62d939df817f5105f524abddcddfc7b1a60d780f02d8235bd7af9db81b66 -c '{"Function":"invoke", "Args": ["a","b"]}' |
52 |
| -``` |
53 |
| - |
54 |
| -Notice error transaction in events client. |
55 |
| - |
56 |
| -# Tesing chaincode events |
57 |
| -Chaincode github.com/hyperledger/fabric/examples/chaincode/go/eventsender can be used to test event sender. |
58 |
| -## Deploy eventsender chaincode |
59 |
| -Stop the event listener and restart it as follows |
60 |
| - |
61 |
| -``` |
62 |
| -CORE_PEER_ADDRESS=172.17.0.2:7051 ./peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/eventsender -c '{"Function":"init", "Args":[]}' |
63 |
| -``` |
64 |
| -
|
65 |
| -``` |
66 |
| -Note the chaincode ID of the eventsender chaincode. This will be used in the commands below. |
67 |
| -``` |
68 |
| -## Restart event listener |
69 |
| -Stop the event listener if running and restart it with `-events-from-chaincode` option |
70 |
| -
|
71 |
| -```sh |
72 |
| -./block-listener -events-address=172.17.0.2:7053 -listen-to-rejections=true -events-from-chaincode=< event sender chaincode ID> |
73 |
| -``` |
74 |
| - |
75 |
| - |
76 |
| -##Send an invoke request to event sender |
77 |
| - |
78 |
| -```sh |
79 |
| -CORE_PEER_ADDRESS=172.17.0.2:7051 ./peer chaincode invoke -n < eventsender chaincode ID > -c '{"Function":"greet", "Args":["hello","world"]}' |
80 |
| -``` |
81 |
| - |
82 |
| -Note the output from the event listener terminal showing a chaincode event from the event sender chaincode in addition to the block event generated by the transaction. |
0 commit comments