The “Hello IPFS” exercise with IPNS from the docs works great. Is there more IPNS documentation someplace?
While something like pinata can pin IPFS hashes, there apparently is no service that can “pin” IPNS records.
After a little further investigation, it seems there is a lot of IPNS understanding/documentation that I’m missing.
E.g. I discover things like --lifetime
that implies that republishing is required and that there is a difference between PubSub and DHT operation of IPNS. Neither “lifetime” nor “PubSub” are mentioned in these docs, and “republish” is only mentioned in the context of changing content.
Will a node republish automatically (as implied by the Ipns.RepublishPeriod
config setting) or will I need a cron job for that?
[…] the fact that publishing IPNS records from more than one node is unsupported behavior and so occasionally runs into weird corner cases.
So IPNS can only publish from one node? Where is this documented? If only one node can publish IPNS records, how do I avoid that single node from being a single-point-of-failure?
I then see that in cloudflare’s IPFS gateway guide IPNS is not mentioned at all. Only dnslink. I’ve also read rumblings here and there that IPNS is best avoided, but not clearly why.
Should IPNS even be used in to 2022 for “dynamic” content? What are the ideal use cases for IPNS and where is it best avoided? Where/when should dnslink and Ethereum naming service (ENS) be used instead of IPNS and when used in addition to IPNS?
Background
I’d like to create a web-based CMS based on IPFS. I was thinking of running IPFS in the browser and creating an IPNS key and storing it in localStorage with a dialog to export/import the key so it can be stored in a password manager or browser extension.
And then use in-browser markdown to create and edit posts, and publish the edited site in IPNS directly from the browser when I’m done.
Edited to add: Using IPFS in the browser should remove the need for having any backend at all.
But for this to work (or to abandon the idea for good reasons), I’d like a deeper understanding of IPNS than what I can read from the docs.
Especially if only one node can publish using a particular key, then I can’t use IPNS publishing from the browser, since that IPFS node will be ephemeral and I’ll want some other IPNS to do the republishing.