During these two weeks, I had a small holiday break which resulted in less work being accomplished. However, during this time, I explored the principles and applications of libp2p, especially focusing on NAT, unique addressing in libp2p, and the gossip pub/sub among other topics. After going through the official documentation and example codes of libp2p thoroughly, I further explored the p2p module in Optimism as it also utilizes libp2p technology.
In these two weeks, I learned that libp2p is a modular, plug-and-play network protocol stack, covering a variety of network protocols which help developers build complex, dynamic p2p applications. Below are some of the key points I gathered:
With the foundational knowledge of libp2p, I turned my attention to the p2p module in Optimism. Through in-depth analysis, I found that Optimism also uses libp2p technology for communication and data transmission among networks. This gave me a clearer understanding of how to apply libp2p in real projects.
I documented a summary article on the application of libp2p in Optimism and published it on HackMD. The link to the article is as follows: libp2p in Optimism
Although the holiday period impacted the progress, the exploration into libp2p and Optimism's p2p module has expanded my understanding of p2p networks. Going forward, I plan to continue exploring the advanced features of libp2p and try to implement some p2p applications in my personal projects. Additionally, I discovered a mechanism in Optimism for scoring RPC via scords, which might be very useful for my projects.