November Progress Report Form
What progress was made on your grant this month?
Please summarize your progress in 3-5 sentences or bullet points:
- Forked LBRY’s DHT and python daemon
- Created
liblbryprotocol library - Created
portal-plugin-lbry
| Milestone | Task | Pull Request(s) | Additional Notes |
|---|---|---|---|
| 1: Build Protocol Foundation | LBRY DHT | #1, #2, #3, #4, #5, #6 | Forked to add missing core DHT functionality: node/routing/contact management, validation, expiration, and critical goroutine lifecycle fixes |
| 1: Build Protocol Foundation | LIBLBRY Protocol Integration | #26, #27, #28, #29, #30, #31, #32, #33, #34, #35, #36, #37, #38, #39, #40, #41, #42, #43, #44, #45, #46, #47, #48, #49, #50, #51, #52, #53, #54, #55, #56, #57, #58, #59, #60, #61, #62, #63, #64, #65, #66, #68, #69, #70, #71, #72, #74, #75, #76, #77, #78, #79, #80, #81, #82, #83, #84, #85 | |
| 2: Build Portal Plugin | Create portal plugin portal-plugin-lbry | #1, #2, #6, #10, #11, #18 | |
| 2: Build Portal Plugin | Pin/Unpin a blob from the network over REST API | #5, #17 | |
| 2: Build Portal Plugin | Upload a small file as a blob and access it with LBRY CLI tools | #3 | |
| 2: Build Portal Plugin | Upload a large file as a blob and access it with LBRY CLI tools | #4 | |
| 2: Build Portal Plugin | Use LBRY tools to upload a blob to the portal using the LBRY native reflector protocol | #7, #8, #9, #14, #15, #16 | Requires device (IP based) whitelisting in the API |
Milestone Demo
Summarize any problems that you ran into this month and how you’ll be solving them.
Please summarize your issues into a few sentences or bullet points:
I ended up spending several days having to deep dive into the LBRY DHT to figure out why blobs were not being circulated well and why a server that it should pick up on, wasn’t being found. This ended with me having to both heavily modify the DHT to have more control over it, implement things like a full network scan (IPFS calls it fullrt), and several other changes.
The end result of this was finding the DHT is immature, and having to implement a fixed peer support the same as the python daemon/node to act as a fallback. I was able to confirm fetching from the DHT, but it is fairly unreliable at-present such it is not relied on solely for tests or the demo.
What will you be working on next?
Please summarize your development goals into a few sentences or bullet points:
- Work on frontend integration/UI.