Skip to content

Support arbitrary bytes for IPNS Record Value #273

@Winterhuman

Description

@Winterhuman

Currently, the IPNS spec states the following:

Value (bytes)
It can be any path, such as a path to another IPNS record, a dnslink path (eg. /ipns/example.com) or an IPFS path (eg. /ipfs/Qm...)

However, the implementation of go-ipns differs and won't care if Value is set to a non-path value (https://github.com/ipfs/go-ipns/blob/55c21a4ec0154fde42f56527a0ec1e0eb20195f8/ipns.go#L131), but, I argue supporting arbitrary bytes for Value should be supported.

My main argument for supporting this is to avoid inline CIDs, they're currently in a grey area where there's no consensus on how to limit the length of inline CIDs (or even if they should be limited: multiformats/multihash#130), so being able to set Value to whatever needs to be inlined into the IPNS record directly would be nice to have as an officially supported part of the spec.

(I could also argue it more closely follows the IPLD data model, but, IPNS records aren't IPLD objects anyways)

Metadata

Metadata

Assignees

No one assigned

    Labels

    need/triageNeeds initial labeling and prioritization

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions