That’s a cool idea. Beware that the main challenge with IPNS records is that they need to be reprovided to the network because they either expire or the nodes holding them go offline.
This means that you would likely want two components:
UI to use ledger to sign IPNS records
Service/tool to keep on publishing the signed IPNS record.
I’ve been actually trying to get a better understanding of how IPNS record expiry works because there are two relevant parameters: ttl and lifetime but the spec (specs/IPNS.md at main · ipfs/specs · GitHub) doesn’t mention lifetime.
ttl is how long a node that has just looked it up will keep it cached before it looks it up again when it needs it (same meaning as for DNS) lifetime is how long a node that has received the record from a “provide” will keep it before it discards it (in the same way block provides are discarded after 24 hours).
I remember reading those things a long time ago, but I don’t remember where
P.S. oh, and they get reprovided every 4 hours, not 12 like blocks