Implementing multiple naming systems in wallet

Intro

This is what wallet have to think through if the want to implement multiple wallet naming systems beyond just address resolution. Unstoppable domains and ENS are used as examples.

Implementation

Functionality

FIO

Unstoppable Domains

ENS

Functionality

FIO

Unstoppable Domains

ENS

Send using address

Identify address in format xxx@yyy

Identify address in format xxx.crypto, xxx.zil

Identify address in format xxx.eth

Register address

  • In-wallet

    • Branded (recommended)

      • In-wallet registration can be built, which would allow user to pick a naming system using its name (FIO Address, Unstoppable Domains, ENS) and describing its features and cost.

    • Generic

      • In-wallet registration based on address domain and format could in theory be built, but is not recommended because:

        • Users would not understand why addresses have different formats and different pricing.

        • Most wallets use naming systems names (FIO Address, Unstoppable Domains, ENS) to indicate what is and isn't supported in their wallets. If user just gets a generic name they may be confused as to why it’s not working in another wallet.

  • Link from wallet

    • Each system operates a registration site, which wallet can link to.

Receive using address (map)

  • Covered by bundled transactions

  • Require payment of gas fees by user or wallet

  • Require payment of gas fees by user or wallet

  • A common interface to map public addresses to human-readable address could be built, but users would need to understand, why costs of changes differs.

Cross-wallet memo for all blockchains

  • Supported when sender and receiver have FIO Address

  • Not supported

  • Not supported

  • Interface could automatically show cross-wallet memo field when user sending to FIO Address and also has a FIO Address. Another reason to brand naming systems, so users can know what to expect.

FIO Request

  • Supported when sender and receiver have FIO Address

  • Not supported

  • Not supported

  • This is a feature unique to FIO and therefore should be branded as such, so user can understand that it is only offered between users who have FIO Addresses.