V1 On-Chain Diagram

  1. Master Registry Contract for all NFDs. This single smart-contract is global registration arbiter of NFDs. The application ID of this contract is part of what makes the smart-signature contracts (#2) and (#3) unique and authentic NFDs.

  2. A smart signature used for resolving a NFD name. The bytes of the NFD name and the registry contract id (#1) are used in templatized TEAL to derive a unique smart signature address. That account is opted into (#1) and its local state references the App ID of (#4) and the ASA ID of (#5)

  3. A smart signature used for resolving an Algorand Account address back to one or more NFDs that reference it. This is the ’reverse lookup’ smart signature. Like (#2), this account is opted into (#1) and its local state references (#4) and (#5).

  4. Is a smart contract where all global state contains the data for a specified NFD. A distinct instance and new application ID exists of this contract for every NFD. A number of fields are settable only by the NFD service itself, such as fields requiring some sort of external verification/validation. Once an application id is determined via (#2) or (#3) lookup, then all current NFD data for a particular xxx.algo NFD can be read solely by getting application state info from this contract, from any Algorand node.

  5. Is a unique ASA created per-NFD to represent visual ‘ownership’ of a NFD to a user in their Algorand wallet. It will be created defaultFrozen and placed into their wallet as part of an initial series of minting operations and grouped transactions. The ASA can only move to a new owner including the setting of ownership fields in (#4) via a distinct ‘transfer’ operation controlled by (#4). As shown in the ASA once added to the owners Account, the URL will point to an ARC19 template-ipfs link which will resolve to a json body that is kept updated as NFD data is changed by its owner. The metadata will be in an ARC03 equivalent format so that Wallet/Gallery integration showing NFT holdings will show the NFD as an NFT, including its image being the Avatar chosen by the user (which itself could be an NFT).

  6. Represents the Algorand account that is the NFD ‘Owner’

  7. Represents an Algorand account the NFD owner chose to set one of their crypto account addresses to for the Algorand chain. This is where payments would go if a user chose to ‘send’ ALGO to a NFD - the currently registered ALGO target address in the NFD.

Last updated