First, a little bit of background so yāall know where Iām coming fromā¦
I started a project a couple months back. The goal was to make a completely decentralized publishing / subscription platform that could replace YouTube and social media platforms in general. In other words, it enables the publication of arbitrary content and subscription to the publishers in a censorship resistant wayā¦
The original architecture is as follows: Use a DHT to serve in response to a requests for a particular public key, a magnet link which points to a JSON file containing profile information, including other magnet links which represent a users publications. This magnet link would be downloaded using webtorrent and the JSON would be passed into a UI(electron+angular) to be rendered appropriately. As a āfeedā.
The key here is the DHT responds to a request for a persistent identity(pubkey) with data that is mutable/updatable(only by the holder of the corresponding private key).
I played around with a couple DHT libraries but after experimenting with IFPS/IPNS a bit I decided to make the switch. Now, instead of the DHT responding with a magnet link, Iām using IPNS to respond with an IPFS link which points to the aforementioned, latest json file.
To be clear, the goal of this is NOT for profiles/content to be accessible via a regular browser / http/s. Rather, to have electron acquire them directly through ipfs, which would already work if IPNS was more reliable / i could figure out how to configure it properly.
the abstract flow goes something like thisā¦
IPNS / dht.GET(pubkey) -> ipfs / magnet link -> profile.json(list of ipfs /magnet link(s) to users publications) -> magnet/ipfs link -> content -> render in electron(already working, albeit very beta)ā¦
Development has been going well, but I just canāt seem to reliably get IPNS to serve the IPFS links to the identity file. Iāve tried customizing the ipfs config but to no availā¦
for reference: https://www.github.com/iohzrd/follow
Please let me know if youād like further clarification or if you have any suggestions or thoughtsā¦