Skip to content

NIP-73: add Namecoin name external content id#2353

Open
mstrofnone wants to merge 1 commit into
nostr-protocol:masterfrom
mstrofnone:nip73-namecoin-external-id
Open

NIP-73: add Namecoin name external content id#2353
mstrofnone wants to merge 1 commit into
nostr-protocol:masterfrom
mstrofnone:nip73-namecoin-external-id

Conversation

@mstrofnone
Copy link
Copy Markdown

Adds a third blockchain artifact type to NIP-73 alongside the existing <blockchain>:tx: and <blockchain>:address: shapes from #1846:

<blockchain>:name:<namespace>/<name>

For naming chains (Namecoin and similar) that expose names as a first-class on-chain primitive distinct from transactions and addresses.

Why

Namecoin names aren't transactions and aren't addresses, so neither of the existing two <blockchain>: artifact types fits when an event references one. With this addition, a Nostr event that references the Namecoin d/example name (resolved as example.bit) can be tagged:

[
  ["i", "namecoin:name:d/example"],
  ["k", "namecoin:name"]
]

…and any relay that already indexes NIP-73 #i filters can answer "show me every event that references this Namecoin name" without any new infrastructure or new NIP work. Useful for cross-system catalogs, name-anchored social graphs, attestations, and chain-anchored identity flows.

Shape

+30/-1 in a single file. One row in the artifact-type table, one section in the examples (mirroring the existing Bitcoin and Ethereum sections), one mention of namecoin in the introductory list of layer-1 chains. Existing references like bitcoin:tx:... and ethereum:1:address:... are unaffected.

No new event kinds. No new tags. No changes to existing NIPs. Additive only — clients that don't recognize namecoin:name: ignore it the same way they already ignore k values they don't know.

References

Relationship to other Namecoin work

This PR is independent of #2349 (NIP-05 verification via Namecoin) and #2330 (the broader Namecoin-track RFC). Whether or not those land, this one row makes Namecoin names referenceable through the existing NIP-73 discovery channel — which is useful for any tooling that wants to catalog or index references to Namecoin names from Nostr events, regardless of how identity verification is ultimately specified.

Adds a third blockchain artifact type alongside the existing
`<blockchain>:tx:` and `<blockchain>:address:` shapes introduced in
nostr-protocol#1846: `<blockchain>:name:<namespace>/<name>` for naming chains that
expose names as a first-class on-chain primitive.

Follows the same one-row-in-the-table + one-section-in-the-examples
shape used by the ISO 3166 addition (nostr-protocol#2205) and the original
blockchain transactions/addresses addition (nostr-protocol#1846).

Example:
  ["i", "namecoin:name:d/example"]
  ["k", "namecoin:name"]

The `<namespace>` (e.g. `d` for Domain Name Object names,
`id` for identity names) and the `<name>` are matched byte-for-byte
against the on-chain key. ifa-0001 is the canonical reference for
both namespaces.

Motivation: Namecoin names are not transactions and not addresses,
so neither of the existing two artifact types fits. Adding `name:`
as a parallel artifact type keeps the schema additive (existing
parsers ignore unknown `k` tag values per NIP-73's general rule)
and lets relays and indexers query for all Nostr events that
reference a given Namecoin name with a single `#i` filter.

This is independent of any other Namecoin-related NIP work and is
useful regardless of whether further Namecoin-anchored discovery
schemes are adopted.
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

Successfully merging this pull request may close these issues.

1 participant