  Waku is a family of modular protocols that enable secure,
censorship-resistant, and anonymous peer-to-peer communication. Waku protocols
provide capabilities that make them suitable to run in resource-restricted
environments e.g., mobile devices and web browsers. Such capabilities include
(i) retrieving historical messaging for mostly-offline devices (ii) adaptive
nodes; allowing for heterogeneous nodes to contribute to the network (iii)
preserving bandwidth usage for resource-restricted devices, (iv) minimizing
connectivity requirements for devices with a limited connection, and (v)
enabling efficient, private, economic spam protection for heterogeneous nodes.
Waku's modular design and resource-efficient protocols make it superior to its
predecessor i.e., Whisper. In this paper, we give an overview of the Waku
protocols stack, its architecture, and protocols interaction along with a
sample demo scenario on configuring and running a Waku node using nwaku i.e.,
Waku client written in Nim.
