49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
#!/usr/bin/env python2
|
|
# Copyright (c) 2017 The Zcash developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
# Requirements:
|
|
# pip install python-qpid-proton
|
|
|
|
import binascii
|
|
from proton.handlers import MessagingHandler
|
|
from proton.reactor import Container
|
|
|
|
port = 5672
|
|
|
|
class Server(MessagingHandler):
|
|
def __init__(self, url):
|
|
super(Server, self).__init__()
|
|
self.url = url
|
|
self.senders = {}
|
|
|
|
def on_start(self, event):
|
|
print "Listening on:", self.url
|
|
self.container = event.container
|
|
self.acceptor = event.container.listen(self.url)
|
|
|
|
def on_message(self, event):
|
|
m = event.message
|
|
topic = m.subject
|
|
body = m.body
|
|
sequence = str( m.properties['x-opt-sequence-number'] )
|
|
if topic == "hashablock":
|
|
print '- HASH BLOCK ('+sequence+') -'
|
|
print binascii.hexlify(body)
|
|
elif topic == "hashtx":
|
|
print '- HASH TX ('+sequence+') -'
|
|
print binascii.hexlify(body)
|
|
elif topic == "rawblock":
|
|
print '- RAW BLOCK HEADER ('+sequence+') -'
|
|
print binascii.hexlify(body[:80])
|
|
elif topic == "rawtx":
|
|
print '- RAW TX ('+sequence+') -'
|
|
print binascii.hexlify(body)
|
|
|
|
try:
|
|
Container(Server("127.0.0.1:%i" % port)).run()
|
|
except KeyboardInterrupt:
|
|
pass
|
|
|