Is there a way to provide an existing IPNS record to the DHT? Something like
ipfs dht provide /ipns/12D3KooWNRMhSBESu5LWDpgce9h9mAs6yvUsXxBSJsvdmWdbeans (although that doesn’t work or I wouldn’t be posting this)
For example, I can
ipfs dht provide QmY7GAExYqoty36cmaWbU28u7JbAtYPHcBxzZgE6rH6vk2 to manually re-announce a file to the network rather than waiting for someone to ask me if I have it.
The documentation is a bit confusing about how long IPNS records are stored, but it seems like they’re stored forever on the publishing node as I can still access that key and I published it well a few weeks ago and it’s still resolving.
Confusingly, my node seems to ask the entire DHT if it has a newer version of the record every time I do
ipfs resolve on the IPNS key, despite being the only node that has ever held the private key for that PeerID. It seems like this is what’s causing a lot of IPNS-related slowness.
There probably needs to be a way for the node to say “not only is this IPNS record good for 24 hours, but if you see it within 3 hours, you can just stop searching and accept it rather than continuing to search for a newer version.” (If this is what IPRS is, I should take another look at it.)