Domain resolution
#
Browser resolutionAdadomains can be resolved in web browsers by using the .surf
extension. For example, hello.ada
on Mainnet can be resolved by navigating to hello.ada.surf
(on Preprod the equivalent link is hello.ada-preprod.surf
).
The rules for browser resolution are the following:
- redirect to the value of attribute
web.ipfs
, if present - redirect to the value of attribute
web.url
, if present - show a default homepage with displayed socials and contact information
#
Smart contractsSmart contracts (validators) can resolve the domain attributes by using the domain UTXOs as reference inputs in transactions.
Below are the Plutus definitions of domain and subdomain datums:
data Domain = Domain { domainFundsReceiver :: Address, domainAttributes :: PlutusTx.AssocMap.Map BuiltinByteString BuiltinByteString, subdomains :: [TokenName]}
data Subdomain = Subdomain { subdomainFundsReceiver :: Address, subdomainAttributes :: PlutusTx.AssocMap.Map BuiltinByteString BuiltinByteString}
Domain (and subdomain) attributes are represented as a Plutus map. The only exception is the associated Cardano address, which is stored as a native address type for easier on-chain usage. Domain datum also contains a list of all subdomains belonging to that domain.
#
Token policiesThese are the official token policy IDs belonging to adadomains NFTs:
- Preprod network
- domain policy -
08f134d9e639c6ab0e06644e6889b48e7c281ebe3366a6439b70f375
- domain ownership policy -
87c3d209c1ff0e25eed4766472dfb6884dd1a7a64c0c1f6bd5fd0ef7
- subdomain policy -
32e312dda534b51f87f68e687c86b27accea8dc0b4ea8c0ba83f056d
- domain policy -
- Mainnet network
- presale policy -
e2bdb31c13a57d94934d01a4ca17cf3b2cac61d055637261b089c8f6
- domain policy -
49933b20c73dae19926b4ee0d7330f2c167c53414fa0c8308e2768d6
- domain ownership policy -
fc411f546d01e88a822200243769bbc1e1fbdde8fa0f6c5179934edb
- subdomain policy -
bb92a9fb6f37585d502de854aacc9b7e91269144319ce444c091a590
- presale policy -