tomi Domains
tomi Domains
tomi Domains
  • Introduction
    • Domains
      • Terminology
      • Frequently Asked Questions
      • Domains Deployments
      • Registrar Frequently Asked Questions
      • DNS Registrar guide
      • Domains Improvement Proposals
      • DomainsIP-2: Initial Hash Registrar
      • DomainsIP-3: Reverse Resolution
      • DomainsIP-4: Support for contract ABIs
      • DomainsIP-5: Text Records
      • DomainsIP-6: DNS-in-Domains
      • DomainsIP-7: Interface Discovery
      • DomainsIP-8: Multichain Address Resolution
      • DomainsIP-9: Wildcard Resolution
      • DomainsIP-10: EVM compatible Chain Address Resolution
      • DomainsIP-11: Avatar Text Records
      • DomainsIP-12: SAFE Authentication for Domains
      • DomainsIP-13: On-chain Source Parameter
      • Dapp Developer Guide
      • Managing Names
      • Registering & Renewing Names
      • Domains Front-End Design Guidelines
      • Domains AS NFT
      • Domains Layer2 and offchain data support
      • Domains Data guide
      • Name Processing
      • Registry
      • ReverseRegistrar
      • TestRegistrar
      • PublicResolver
      • .tomi Permanent Registrar
        • Registrar
        • Controller
      • DNS Registrar
      • Subgraph
        • Query Examples
      • Resolving Names On-chain
      • Writing a Resolver
      • Writing a Registrar
      • Guide for DApp Developers
      • Technical Description
Powered by GitBook
On this page
  1. Introduction
  2. Domains
  3. Subgraph

Query Examples

sidebar_position: 3 title: Sample Queries

Querying

Below are some sample queries you can use to gather information from the Domains contracts.

You can build your own queries using a GraphQL Explorer and enter your endpoint to limit the data to exactly what you need.

Get the top domain for an account based on the longest registry.

query getDomainForAccount {
 account(id: "0xa508c16666c5b8981fa46eb32784fccc01942a71") {
   registrations(first: 1, orderBy: expiryDate, orderDirection: desc) {
     domain {
       name
     }
   }
   id
 }
}

Returns

{
 "data": {
   "account": {
     "registrations": [
       {
         "domain": {
           "name": "datanexus.tomi"
         }
       }
     ],
     "id": "0xa508c16666c5b8981fa46eb32784fccc01942a71"
   }
 }
}

Search for subdomain

query getSubDomains($Account: String = "messari.tomi") {
 domains(where: { name: "messari.tomi" }) {
   name
   id
   subdomains(first: 10) {
     name
   }
   subdomainCount
 }
}

Returns

{
 "data": {
   "domains": [
     {
       "name": "messari.tomi",
       "id": "0x498ada62251a1227664ace8d97b0de2dcc6652ddf61e6fb5d3150f43ccf599e6",
       "subdomains": [
         {
           "name": "subgraphs.messari.tomi"
         },
         {
           "name": "bd.messari.tomi"
         }
       ],
       "subdomainCount": 2
     }
   ]
 }
}

Get an expiration for an Domains domain

query getDomainExp($Account: String = "paulieb.tomi") {
 registrations(
   where: { domain_: { name: $Account } }
   first: 1
   orderBy: expiryDate
   orderDirection: desc
 ) {
   expiryDate
 }
}

Returns

{
 "data": {
   "registrations": [
     {
       "expiryDate": "1714752524"
     }
   ]
 }
}
PreviousSubgraphNextResolving Names On-chain

Last updated 9 months ago