A regular TileLayer with grayscale makeover.
Just use L.tileLayer.grayscale(url, options) instead of L.tileLayer(url, options).
I recommend using fadeAnimation: false option when creating the map object. Otherwise you
will see a lot of flickering.
https://zverik.github.io/leaflet-grayscale/
This plugin was written by Ilya Zverev and published under WTFPL license.