Small Grant: Lume Web - LBRY Integration (Revised)

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 liblbry protocol 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.
2 Likes