Description
1. What is your project, and what problem does it solve? (max 100 words)
This project involves improving go-libp2p's metrics, dialing logic and implementing a next version of the AutoNat protocol.
The metrics will be very useful to allow operators to see what’s going on inside their IPFS/Lotus node.
Better dialing logic will have a big performance impact on the IPFS/Lotus/other networks by reducing load on peer and network (caused by spamming network with many dial requests per peer.)
AutoNat v2 can be seen as another concrete optimization where we stop advertising un-dialable addresses to the network. This becomes more important once better dialing is implemented, since unsuccessful dial attempts will then actually increase connection establishment latency.
2. Project links
Link to Github repo: https://github.com/libp2p/go-libp2p/
Link to demo or website: n/a
License: https://github.com/libp2p/go-libp2p/blob/master/LICENSE
3. a) How is IPFS, Filecoin, or related technology used in this project?
This project contributes to go-libp2p, which is relied on as the networking library within IPFS, Lotus, and other web3 projects.
b) Is this project building with the current microgrants focus area (FVM)? (Yes or No)
No.
4. How will you improve your project with this grant? What steps will you take to meet this objective?
Number | Grant Deliverable | Briefly describe how you will meet deliverable objectives | Timeframe (within 3 months) |
---|---|---|---|
1. | libp2p/go-libp2p#1356 | Work on this is already in progress. go-libp2p is taking a piecemeal approach in adding metrics to various components (some examples: libp2p/go-libp2p#2086, libp2p/go-libp2p#2119, libp2p/go-libp2p#2114, etc.) | 1.5 weeks |
2. | libp2p/go-libp2p#1785 | By working with the go-libp2p team, answering open questions, and implementing the design described in the GitHub issue. | 3 weeks |
3. | libp2p/specs#503 | By working with the libp2p maintainers to create a working draft of the specification, and implementing it in go-libp2p | 3 weeks |
5. If accepted, do you agree to share monthly project updates in this Github issue for 3 months or until the project described here is complete?
Yes.
6. Does your proposal comply with our Community Code of Conduct?
Yes.
7. Links and submissions
- If your project began at a hackathon, have you submitted it for the relevant Protocol Labs prizes? Include links here if available:
No.
Additional questions:
-
For each team member(s), please list name, email, Github account, and role in the project.
- Name: Sukun Tarachandani
- Email: [email protected]
- Github: https://github.com/sukunrt
- Role: developer
-
How did you learn about our microgrant program?
- From the EngRes IP Stewards libp2p maintainers (go-libp2p team)
-
If your project was created as part of an event or hackathon:
- What was the name of the event? (e.g. ETHGlobal NFTHack, Cal Hacks hello:world, Chainlink, CivHacks, GameDevJ, ETHGlobal Scaling Ethereum)
- Please link to your hackathon submission
N/A