Skip to content

Add Neo namespace and CAIP-2 profile#191

Open
erikzhang wants to merge 1 commit into
ChainAgnostic:mainfrom
erikzhang:neo-namespace
Open

Add Neo namespace and CAIP-2 profile#191
erikzhang wants to merge 1 commit into
ChainAgnostic:mainfrom
erikzhang:neo-namespace

Conversation

@erikzhang

Copy link
Copy Markdown

Summary

  • Add the base neo namespace documentation for blockchains implementing the Neo N3 protocol.
  • Define a CAIP-2 profile using the canonical unsigned decimal representation of Neo Network Magic.
  • Document JSON-RPC resolution, well-known Neo and NeoFS networks, private-network collision behavior, validation cases, and security considerations.

Motivation

Neo N3 does not currently have a canonical CAIP-2 identifier, which limits interoperability with chain-agnostic wallets, SDKs, payment protocols, and other multi-chain infrastructure.

This proposal was discussed with the Neo community in neo-project/proposals#238. The discussion supported using neo as the namespace and the existing Network Magic value as the CAIP-2 reference.

Specification

The profile defines Neo chain IDs in the following form:

neo:<network-magic>

The reference is the Network Magic encoded as a canonical unsigned decimal string. It must:

  • match ^(0|[1-9][0-9]{0,9})$;
  • be within the uint32 range 0..4294967295;
  • contain no sign, base prefix, separator, surrounding whitespace, or leading zeroes.

Clients can resolve the identifier through the standard Neo JSON-RPC getversion method by reading result.protocol.network.

The profile includes identifiers for these well-known networks:

Network CAIP-2 chain ID
Neo N3 MainNet neo:860833102
Neo N3 TestNet T5 neo:894710606
NeoFS MainNet neo:91414437
NeoFS TestNet neo:735783775

Because Network Magic is operator-selected and not globally allocated for private networks, the profile explicitly documents collision behavior and operator responsibilities. It also notes that a CAIP-2 identifier obtained from an RPC endpoint is not, by itself, proof of endpoint authenticity.

CAIP-10 account identifiers and CAIP-19 asset identifiers are intentionally left for follow-up proposals.

Verification

Related discussion

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