forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ZMQ] append a message sequence number to every ZMQ notification (#1082)
* Zmq sequence (#1) * Fixes ZMQ startup with bad arguments. pr 7621 * [ZMQ] append a message sequence number to every ZMQ notification - pr 7762 - contrib/zmq/zmq_sub.py to python 3 compatible * typo in MSG_RAWTXLOCK MMSG_RAWTXLOCK to MSG_RAWTXLOCK * s/Bitcoind/dashd/
- Loading branch information
Showing
6 changed files
with
83 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,51 @@ | ||
#!/usr/bin/env python2 | ||
#!/usr/bin/env python | ||
|
||
import array | ||
import binascii | ||
import zmq | ||
import struct | ||
|
||
port = 28332 | ||
|
||
zmqContext = zmq.Context() | ||
zmqSubSocket = zmqContext.socket(zmq.SUB) | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashblock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashtx") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "hashtxlock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawblock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawtx") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, "rawtxlock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"hashblock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"hashtx") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"hashtxlock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"rawblock") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"rawtx") | ||
zmqSubSocket.setsockopt(zmq.SUBSCRIBE, b"rawtxlock") | ||
zmqSubSocket.connect("tcp://127.0.0.1:%i" % port) | ||
|
||
try: | ||
while True: | ||
msg = zmqSubSocket.recv_multipart() | ||
topic = str(msg[0]) | ||
topic = str(msg[0].decode("utf-8")) | ||
body = msg[1] | ||
sequence = "Unknown"; | ||
|
||
if len(msg[-1]) == 4: | ||
msgSequence = struct.unpack('<I', msg[-1])[-1] | ||
sequence = str(msgSequence) | ||
|
||
if topic == "hashblock": | ||
print "- HASH BLOCK -" | ||
print binascii.hexlify(body) | ||
print('- HASH BLOCK ('+sequence+') -') | ||
print(binascii.hexlify(body).decode("utf-8")) | ||
elif topic == "hashtx": | ||
print '- HASH TX -' | ||
print binascii.hexlify(body) | ||
print ('- HASH TX ('+sequence+') -') | ||
print(binascii.hexlify(body).decode("utf-8")) | ||
elif topic == "hashtxlock": | ||
print '- HASH TX LOCK -' | ||
print binascii.hexlify(body) | ||
print('- HASH TX LOCK ('+sequence+') -') | ||
print(binascii.hexlify(body).decode("utf-8")) | ||
elif topic == "rawblock": | ||
print "- RAW BLOCK HEADER -" | ||
print binascii.hexlify(body[:80]) | ||
print('- RAW BLOCK HEADER ('+sequence+') -') | ||
print(binascii.hexlify(body[:80]).decode("utf-8")) | ||
elif topic == "rawtx": | ||
print '- RAW TX -' | ||
print binascii.hexlify(body) | ||
print('- RAW TX ('+sequence+') -') | ||
print(binascii.hexlify(body).decode("utf-8")) | ||
elif topic == "rawtxlock": | ||
print '- RAW TX LOCK -' | ||
print binascii.hexlify(body) | ||
print('- RAW TX LOCK ('+sequence+') -') | ||
print(binascii.hexlify(body).decode("utf-8")) | ||
|
||
except KeyboardInterrupt: | ||
zmqContext.destroy() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters