static void ReadBlocks() { var zmq = new SubscriberSocket(Config.BitcoinRawBlocks); zmq.Subscribe("rawblock"); //zmq.Subscribe("rawtx"); //zmq.SubscribeToAnyTopic(); Console.WriteLine("Waiting for blocks.."); while (IsRunning) { var msg = zmq.ReceiveMultipartMessage(); var tag = msg[0].ConvertToString(); var msg_data = msg[1].Buffer; if (tag == "rawtx") { var tx = Transaction.Load(msg_data, Network.Main); Console.WriteLine($"Got new tx! {tx}"); } else if (tag == "rawblock") { var bp = Block.Load(msg_data, Consensus.Main); BlockStream.Post(bp); } } }