def METHOD_NAME(self):
    num_blocks = 5
    self.log.info("Generate %(n)d blocks (and %(n)d coinbase txes)" % {"n": num_blocks})
    genhashes = self.nodes[0].generatetoaddress(num_blocks, ADDRESS_BCRT1_UNSPENDABLE)
    self.sync_all()
    for x in range(num_blocks):
        # Should receive the coinbase txid.
        txid = self.hashtx.receive()
        # Should receive the coinbase raw transaction.
        hex = self.rawtx.receive()
        tx = CTransaction()
        tx.deserialize(BytesIO(hex))
        tx.calc_sha256()
        assert_equal(tx.hash, txid.hex())
        # Should receive the generated block hash.
        hash = self.hashblock.receive().hex()
        assert_equal(genhashes[x], hash)
        # The block should only have the coinbase txid.
        assert_equal([txid.hex()], self.nodes[1].getblock(hash)["tx"])
        # Should receive the generated raw block.
        block = self.rawblock.receive()
        assert_equal(genhashes[x], hash256(block[:80]).hex())
    if self.is_wallet_compiled():
        self.log.info("Wait for tx from second node")
        payment_txid = self.nodes[1].sendtoaddress(self.nodes[0].getnewaddress(), 1.0)
        self.sync_all()
        # Should receive the broadcasted txid.
        txid = self.hashtx.receive()
        assert_equal(payment_txid, txid.hex())
        # Should receive the broadcasted raw transaction.
        hex = self.rawtx.receive()
        assert_equal(payment_txid, hash256(hex).hex())
    self.log.info("Test the getzmqnotifications RPC")
    assert_equal(self.nodes[0].getzmqnotifications(), [
        {"type": "pubhashblock", "address": ADDRESS, "hwm": 1000},
        {"type": "pubhashtx", "address": ADDRESS, "hwm": 1000},
        {"type": "pubrawblock", "address": ADDRESS, "hwm": 1000},
        {"type": "pubrawtx", "address": ADDRESS, "hwm": 1000},
    ])
    assert_equal(self.nodes[1].getzmqnotifications(), [])