This document describes the Realm resolution algorithms to consistently resolve servers based on a realm connection string. It resembles DNS, and uses the DAO catalysts, ENS and URLs to resolve the realms as described in ADR-110.
Realms (ADR-110) are the configurations that define what and how is executed and rendered in a Decentraland Explorer (ADR-102). If we reason by analogy and consider an Explorer like a Web Browser, and the Scenes like WebSites. Then the Realm is the URL of that site.
Realms are represented as strings. Those strings need to be resolved to a base URL of a valid
realm, which then will be used to calculate baseUrl+'/about'
to comply with the
realm specification.
The mechanism to resolve that endpoint is:
dcl.realm
TXT record in the ENS, return that value.dcl.eth
subdomain, then it falls back to the Worlds
resolver
https://peer.decentraland.org
using the DAO catalyst resolver.
NAME and ENS holders can decide where their worlds are hosted. For that purpose, a special
record dcl.realm
can be added both to ENS and NAME tokens and it should resolve
to a base URL that is compliant with the
Realm specification (ADR-110)
Worlds is a configuration of services that enable deploying Decentraland scenes using a NAME,
as described in ADR-111. To resolve Worlds, an URL in the shape of
https://worlds-content-server.decentraland.org/world/<NAME>.dcl.eth
is
used, the /about
response is compliant with the
Realm specification (ADR-110)
The DAO catalysts are not registered using their friendly name in the DAO Catalyst Registry contract, the baseUrl is used instead. To resolve their names, the following algorithm is RECOMMENDED:
/about
endpoint
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.