The NickNameService contract allows users to mint tags as soulbound NFTs for any address. Unlike Etherscan's tags, these tags are on-chain, immutable, and beautifully visualized as NFTs with SVG metadata.
Key Features
- Soulbound NFTs: Non-transferable tokens that remain attached to the recipient address
- Beautiful SVG Metadata: Dynamic color gradients and animated scrolling text
- Character Validation: Only allows 7-bit ASCII characters (0-9, a-z & -)
- Length Limits: Tags must be between 3 and 32 characters
- On-chain Storage: All nicknames and metadata are stored fully on-chain
Use Cases
- Tag addresses as good:
nns.mint(friendAddress, "good-guy");
- Identify scammers:
nns.mint(scammerAddress, "scammer");
- Create a personal address book: Tag addresses with memorable names
- Add reputation: Build on-chain reputation for addresses
Technical Details
- ERC721 Implementation: Standard NFT interface with soulbound properties
- SVG Generation: Creates SVG images dynamically for each nickname
- JSON Metadata: Includes name, description, SVG image, and attributes
- Base Chain Deployment: Running on Base for lower gas costs