Structures for feeds on IPLD?

Is there a proposed/documented IPLD structure for “feeds” (similar to RSS)?

I imagined a structure might look like this, but don’t want to invent a new structure if one exists!

<Feed Root>
- Feed metadata (name, description author, etc.)
- Number of items in feed
- IPLD link to most recent item
  <Feed Item>
  - Item metadata (title, description, time stamp, etc)
  - IPLD link to feed item contents (eg. Markdown post; mp3 file; static webpage directory)
  - IPLD link to previous most recent item (absent for first)

(For folks familiar with RSS/Atom this is intentionally very similar)

Benefits:

  • The nested/linked-list style of IPLD references for the feed items minimises the amount of new IPFS blocks when a new item is added to the feed (just the new item, and an update to the feed root)
  • Using a separate IPLD link for the contents means a whole directory can be used (think: RSS post and images all directly referenced)
  • This structure would be immediately convertible to RSS for podcasts, blog feeds and similar.

Does such a spec exist already? Would anyone be interested in using such a thing for IPFS-first blogs/etc?

For my social media protocol I designed a simple chronological feed structure.

Basically a tree that start at year → month → day → hour → minute → second → list of CIDs

I also used HAMTs for indexing comments on content.

I’m now working on MSTs & Prolly Trees so that we can build more powerful DB indexes.

1 Like