-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ICRC-86 - Domain Claim Standard[WIP] #86
Comments
ICRC-86: Domain Claim StandardICRC-86 is a standard for claiming and managing the right control a domain and its underlying namespaces on the Internet Computer. IntroductionDomain are consist of a Top-level domain prefix and a series of more specific specifiers. For example, com.foo, org.dfinity, com.github.skilesare.repos. The goal of ICRC-86 is to sync control of official TLD controlled by ICANN as well as provide domain names that are under decentralized control. Data StructuresDomainsDomains are represented by a Undecorated position 0 items are assumed to be standard ICANN TLDs and should be vetted against the ICANN system. Decentralized TLDs managed by the ICRC-86 system are decorated with an underscore at the end. For example: ["icp_","foo","subdomain"] would be managed by the server and validation would follow a different pathway than ICANN TLDs. DomainClaimRequestA request structure is used when a user or a project claims a domain for participating in the cycle sharing. type DomainClaimRequest = {
domain: vec text;
controllers: vec principal;
gateAccount: opt Account
validationCode: opt text; //will be null for initial requests; provide this when automated authentication is available and DNS can be read
}; DomainClaimResponseDefines the possible responses to a domain claim request.
DomainApprovalRequestUsed by an administrative system to approve a previously claimed domain.
DomainApprovalResponsePossible responses to a domain approval request.
Update Functionsicrc86_claim_domainThis function allows a user or a project to claim a domain for managing their domains within the system. The claim request includes the domain identifier, a set of controlling principals, and a validation code for cases where automated verification is required. Initial requests for a validation code are made with the validationCode property null. This provided code can then be used to verify that the requested owner owns the indicated domain. Parameters:
Returns:
icrc86_approve_domainThis function is used to approve a previously claimed domain. It is typically called by an administrator or automated system after verifying the claimant's request. Ideal implementations should automate this by reading DNS via HTTPs outcalls. Parameters:
Returns:
Query Functionsicrc86_domain_look_upThis query function is designed to look up the information about a specific domain to determine if it has been claimed, by whom, and any related account information. It acts as a critical tool for transparency within a ICRC-86 system, allowing participants to verify ownership and claim status of namespaces. Parameters:
Returns:
icrc86_namespace_look_upThis query function is designed to look up the highest resolution information about a specific fully qualified namespace to determine the controllers. Parameters:
Returns:
For example: A request for
Block SchemasBlock Schema for "86DomainApproved"This block type logs when a domain is approved in an ICRC-86 system. {
"btype": "86DomainApp",
"tx": {
"domain": "Array(text)",
"approvedBy": "Blob", //approver
"ts": "Nat",
"controllers" : "Array(Blob)
}
} Description:
Block Schema for "86DomainRequested"This block type captures requests for domain registrations in the ledger, which is crucial for initializing new projects or participants. {
"btype": "85DomainReq",
"tx": {
"domain": "Array(Text)",
"requestedBy": "Blob",
"controllers" : "#Array(Blob)
"ts": "nat",
"validation": "text"
}
} _description:
icrc10_supported_standardsAn implementation of ICRC-86 MUST implement the method The result of the call MUST always have at least the following entries:
Future featuresInitial implementations may rely on administrators or third-party systems to detect, approve, and maintain validations of control. Eventually, an automated system for ICANN lookups should be implemented. |
No description provided.
The text was updated successfully, but these errors were encountered: