Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPNS name caching #4366

Closed
matthiasbeyer opened this issue Nov 3, 2017 · 1 comment
Closed

IPNS name caching #4366

matthiasbeyer opened this issue Nov 3, 2017 · 1 comment

Comments

@matthiasbeyer
Copy link

Type: Feature-Request

Description:

IPNS names are, as far as I experienced so far, not cached. That means, as soon as a node which publishes a name goes offline, the IPNS hash cannot be resolved anymore.

Publishing a blog from a notebook is practically not possible because of that, for example.

It would be nice if IPNS names could be cached (implicitely by resolving them or explicitely... something like ipfs name cache <hash>).
The node which caches the name could automatically try to resolve the hash every n minutes/hours (configurable?) and automatically update its cache.

Implications / Problems

I'm not sure what the implications would be for a client resolving a hash and getting multiple answers, that should be discussed, of course.

@Stebalien
Copy link
Member

IPNS names are, as far as I experienced so far, not cached. That means, as soon as a node which publishes a name goes offline, the IPNS hash cannot be resolved anymore.

IPNS names (records) are cached by the network (for ~24 hours, IIRC). That is, the network will remember that some IPNS name points to some ipfs path (/ipfs/Qm....) for approximately 24 hours. However, the content to which the name points isn't cached (or "pinned" as we call it).

Really, you can't really expect random nodes on the network to store arbitrary data for free, a service like that would be abused out of existence. However, you can pay a pinning service to pin anything you want (you can find them via google). Whenever you update your website, you'd tell them to stop pinning the previous version of your website and to start pinning the new one.

We are working on a decentralized way to do this called Filecoin, a cryptocurrency where you can pay an arbitrary node in the network to provably store your content. However, Filecoin is still in early development so you should look into pinning services for now.


While IPNS names are cached by a system called the DHT, if you get unlucky and all the nodes in the DHT storing your IPNS record forget it or go offline, you're IPNS record will disappear from the network until you republish it. It's a best effort system.

Technically, such services do exist, for example neocities.org. However, these are centralized services that can deal with abuse by, e.g., banning accounts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants