Esempio n. 1
0
        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);
                }
            }
        }