Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
[bitcoinplatinum.git] / contrib / zmq / zmq_sub.py
blobdecf29d42a4c11b8c6f60a32829e9e040d4b6aa0
1 #!/usr/bin/env python2
3 import array
4 import binascii
5 import zmq
7 port = 28332
9 zmqContext = zmq.Context()
10 zmqSubSocket = zmqContext.socket(zmq.SUB)
11 zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashblock")
12 zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashtx")
13 zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawblock")
14 zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawtx")
15 zmqSubSocket.connect("tcp://127.0.0.1:%i" % port)
17 try:
18 while True:
19 msg = zmqSubSocket.recv_multipart()
20 topic = str(msg[0])
21 body = msg[1]
23 if topic == "hashblock":
24 print "- HASH BLOCK -"
25 print binascii.hexlify(body)
26 elif topic == "hashtx":
27 print '- HASH TX -'
28 print binascii.hexlify(body)
29 elif topic == "rawblock":
30 print "- RAW BLOCK HEADER -"
31 print binascii.hexlify(body[:80])
32 elif topic == "rawtx":
33 print '- RAW TX -'
34 print binascii.hexlify(body)
36 except KeyboardInterrupt:
37 zmqContext.destroy()