diff options
author | Jeff Garzik <jgarzik@bitpay.com> | 2014-11-18 12:06:32 -0500 |
---|---|---|
committer | João Barbosa <joao@bitreserve.org> | 2015-09-16 11:01:35 +0100 |
commit | e6a14b64d665eb1fafd03a6bbc8d14597ce1c83c (patch) | |
tree | bfefc581188fb56413c6d29cde625b0395faebc5 /contrib/zmq/zmq_sub.py | |
parent | 1136879df8af2358efb706c5af886778fbd94989 (diff) |
Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
Continues Johnathan Corgan's work.
Publishing multipart messages
Bugfix: Add missing zmq header includes
Bugfix: Adjust build system to link ZeroMQ code for Qt binaries
Diffstat (limited to 'contrib/zmq/zmq_sub.py')
-rwxr-xr-x | contrib/zmq/zmq_sub.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/zmq/zmq_sub.py b/contrib/zmq/zmq_sub.py new file mode 100755 index 0000000000..decf29d42a --- /dev/null +++ b/contrib/zmq/zmq_sub.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python2 + +import array +import binascii +import zmq + +port = 28332 + +zmqContext = zmq.Context() +zmqSubSocket = zmqContext.socket(zmq.SUB) +zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashblock") +zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashtx") +zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawblock") +zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawtx") +zmqSubSocket.connect("tcp://127.0.0.1:%i" % port) + +try: + while True: + msg = zmqSubSocket.recv_multipart() + topic = str(msg[0]) + body = msg[1] + + if topic == "hashblock": + print "- HASH BLOCK -" + print binascii.hexlify(body) + elif topic == "hashtx": + print '- HASH TX -' + print binascii.hexlify(body) + elif topic == "rawblock": + print "- RAW BLOCK HEADER -" + print binascii.hexlify(body[:80]) + elif topic == "rawtx": + print '- RAW TX -' + print binascii.hexlify(body) + +except KeyboardInterrupt: + zmqContext.destroy() |