I have been reading about Vac and taking a look at the Waku specifications recently. I have to say, the detailed specifications and clear format makes it really easy to understand the specifications and easy to follow. I just have a few questions (which I’ve detailed below) about the specifications and how the system works. I hope this is the right place to ask these questions - but if there’s a better place/categorization for it, please let me know!
First, I think one of the Waku updates mentioned that the nodes have to run DevP2P and RLPx. I gather from the more recent blog posts that the goal is to change the DevP2P to LibP2P. Though, I have noticed that the Github Page for DevP2P specifies that “it’s hard to compare the two projects because they have different scope and are designed with different goals in mind.” I assume that there is a given reason to switch to LibP2P - is there an article and/or a blog post that you would recommend to learn more about the differences the two?
Secondly, I believe the Wire Protocol Specification says that packages have to use RLPx handshakes first - followed by generating a Waku Handshake. How are these two handshakes different?
Thirdly, I noticed that the specifications defines a difference between full nodes and light nodes in the environment. Does that mean that the individual phones and/or laptops that run the Status.im Application are considered “light nodes”?