Overview
The development of py-libp2p is now officially underway! As you follow us on our journey of building and designing a Python client for libp2p, it would be helpful to know who we are. We are a team of four students from the engineering school at the University of Pennsylvania. The team consists of Alex Haynes, Rob Zajac, Zixuan Zhang (ZX), and myself, Aspyn Palatnick. All of us have a passion for distributed systems and are very interested in blockchain and its various use-cases.Progress to date
We have built a PoC of py-libp2p using the essential modules needed for basic communication. While this PoC is still a work in progress, we are currently able to send data between two py-libp2p hosts while adhering to most of the libp2p spec. As of now, the modules that we have implemented and are continuing to refine include muxed connections, swarm (implementation of the Network interface), TCP (implementation of Transport interface), streams, listeners, multiaddresses, transport upgrader, basic host, and peer store. Although all of these require more testing and further enhancements, we are very excited at the progress we have made so far and the steps that are to follow.
Feel free to check out our GitHub repo and follow our progress
Feel free to check out our GitHub repo and follow our progress
What's next
Today, we officially submitted our application for an Ethereum Foundation grant. While we committed to working on py-libp2p about two months ago, we wanted to ensure that we built out the core modules and that we had some working functionality before applying for the grant.
As we continue to work on py-libp2p, I am going to be documenting (in words) how the libp2p system works and how our implementation works. Hopefully, this will ease some of the initial confusion people have when trying to understand libp2p from both an architectural and a usage standpoint. More updates to follow!

No comments:
Post a Comment