rawtx & rawblock ZMQ at the same time?

rawtx & rawblock ZMQ at the same time?

I need your opinion, do you mind ? :)

I'm bulding a javascript layer on top of bitcoind. I have bitcoind running on my server with rpc & zmq enabled.

daemon=1
rpcallowip=0.0.0.0/0
rpcuser=xxxxxxxx
rpcpassword=xxxxxxxxx
server=1
rest=1
zmqpubhashblock=tcp://*:28332
zmqpubhashtx=tcp://*:28332
zmqpubrawblock=tcp://*:28332
zmqpubrawtx=tcp://*:28332
rpcworkqueue=100

My program goal is to listen for rawblock and rawtx ZMQ channels. This is my zmq client:

const socket = ZMQ.socket('sub')
socket.connect('tcp://myserverip:28332')

socket.on('message', (channel, data) => { 
  console.log(channel.toString())
})
So here is what happens :

subscribing to rawtx alone works, I receive the tx flow (approx 2.5tx per second)

socket.subscribe('rawtx')

subscribing to rawblock alone also works, I receive blocks (approx 1block per 10minutes)

socket.subscribe('rawblock')

But here is my problem, when subscribing to both, i do receive rawtx but no rawblock !

socket.subscribe('rawblock')
socket.subscribe('rawtx')

I'm assuming the ZMQ socket is flooded with rawtx, which result in missing rawblock event.

My question is: how would you debug this ? Have you guys faced this situation already ?

I know I could use the blocknotify option in bitcoind to forward the blockhash back to my client, and then load the rawblock via an rpc call back to bitcoind, but then I would use 2 different mechanisms (one for rawtx and blocknotify for rawblock) for something that was supposed to work in the first place :)

Thanks for your feedback !!

http://ift.tt/2Abvn2t

Comments

Popular posts from this blog

Antminer D3 Blissz Modified Firmware For Improved Performance

ETH To The Moon / Bank of England Cryptocurrency? / BTC Dominance / More (The Crypt0 Minute)