Skip to main content Link Menu Expand (external link) Document Search Copy Copied
Overview | Canto Namespace Docs

Overview

Canto Namespace Protocol (CNS) is a subprotocol for the Canto Identity Protocol that allows users to mint on chain display names. To mint a name, users must fuse tiles (characters) from Tray NFTs they have purchased. Tiles include stylized and unstylized Latin letters, numbers, and emojis.

Example Name

For every name minted, CNS registers a simplified version of the name (a base name) consisting of only unstylized letters and numbers. Base names resolve to specific wallets, enabling users to enter and lookup names using characters on their keyboard.

Architecture

CNS consists of three smart contracts:

Namespace.sol

Namespace.sol is an ERC721 contract responsible for the minting of Namespace NFTs. Additionally, it acts as a registry of base names enabling name resolution/lookups.

Tray.sol

Tray.sol is an ERC721 contract responsible for the minting of Tray NFTs.

Utils.sol

Utils.sol is a helper contract which contains methods to:

  • convert characters to unicode bytes
  • generate SVGs for an array of tiles
  • generate pseudorandom numbers
  • get character UTF-8 encoding