Kind : Proposal/Enhancement
An IPNS record should have an optional Tag (bytes) field. The Sequence (uint64) field will be used to identify the latest version only in context of the given Tag and record identifier. Records without any Tag field or an empty Tag would be equivalent to the currently implemented IPNS records. For an intuitive understanding, a Tag may be considered a directory or bucket containing IPNS records having that Tag value.
The key corresponding to the list of IPNS records (latest version) with any given Tag value may have the format:
/ipts/<Tag_value>, IPTS standing for Inter-Planetary Tag System.
Any specific IPNS record with a given Tag may be keyed as:
--tag=<Tag_value> option to the
ipfs name subsystem/subcommand.
In addition to subscribing to the name-specific topics, nodes running with
--enable-namesys-pubsub also subscribe to tag-specific topics on first resolution with
ipfs name --tag=<Tag_val> resolve .
If the tag is a peer ID, then the Value (bytes) field in the IPNS record may be encrypted with the Ed25519 pubkey of the tagged peer ID. This may be activated with an
--encrypt option in the
ipfs name --tag=<peerID> publish command.
Mailing [also see offline message queue ]. Sender publishes mail (file for single mail, directory otherwise) over IPNS with
--lifetime=72h. On the recipient’s end, after coming online at least once every 3 days, a simple
ipfs name --tag=$(ipfs id -f='<id>') resolvewould list the peer IDs of the all the senders for the past 3 days. To download the mail sent by a specific sender:
ipfs get | cat /ipns/tag/<selfID>/<senderID> | /ipts/<selfID>/<senderID>. To download all mails in a directory:
ipfs get|cat /ipts/<selfID>. When the sender goes offline, its mails may be hosted by Pinata. If the mail body is small enough, it may be embedded in the CID (ipfs path) with
ipfs add --inlineso that Pinata need not be depended on.
- Search engine for the distributed web . Web-sites/pages hosted with IPFS and published over IPNS with keywords as tags. The search engine simply resolves the keywords given by the user, to get to the resources.
Distributed Key-Value Database published & maintained by recognized central authority(s) . Example - distributed public key database. After verifying email id of the submitter, a recognized IPFS node (central authority) publishes the submitted PGP public key tagged with a hash of the verified email. The node renews the published records every few days. Latest pubkey may be accessed with