借助TheGraph 查询ENS信息

关于ENS (以太坊域名服务)


ENS 全称是 Ethereum Name Service,它是一个建立在以太坊区块链上的去中心化域名系统。

ENS 在 Web3 领域发挥着重要作用,主要有以下几个方面:

  1. 可读性更好的地址:

    • ENS 允许用户将复杂的以太坊地址(如 0x12345…) 映射为更简单易记的域名。
    • 这极大地提高了用户体验,让区块链的使用更加友好。
  2. 统一的身份标识:

    • ENS 域名可以用作用户在 Web3 生态中的唯一标识。
    • 用户可以将自己的钱包地址、social media账号等信息关联到ENS域名上。
  3. 去中心化的域名系统:

    • ENS 是建立在以太坊区块链之上的,不受任何中心化机构的控制。
    • 域名所有权通过区块链交易来管理,保证了所有权的去中心化。
  4. 支持多种应用场景:

    • ENS 域名可以用于支付、登录、数据存储等各种 Web3 应用场景。
    • 开发者可以在自己的 dApp 中集成 ENS 功能。
  5. 可编程性和可扩展性:

    • 作为一个基础设施,ENS 提供了丰富的API和SDK,方便开发者集成和扩展。
    • 未来 ENS 还可能支持更多类型的域名资源,如数据存储、身份认证等。

总ENS 是 Web3 生态中重要的一环,它在提高用户体验、统一身份标识等方面发挥着关键作用。


ENS(以太坊域名服务)可以认为是web3的DNS…DNS是将域名和IP地址做一个映射,而ENS是把域名和比IP地址更复杂冗长的钱包地址做一个映射


可以在 https://app.ens.domains/ 注册

折算后大概几十块人民币,和普通域名价格差不多


页面信息可以在这里查到: https://app.ens.domains/vitalik.eth


什么是以太坊域名服务 (ENS)?

比较著名的一个批量注册工具的ENS 成交榜,看得出比较好的"靓号"价格不菲…


关于TheGraph


TheGraph 可以说是 Web3 应用开发的基础设施之一,极大地提高了区块链数据的可访问性和可用性。

TheGraph 是一个去中心化的查询协议,在 Web3 领域扮演着非常重要的角色。主要用于索引和查询区块链数据。TheGraph 可以帮助用户做以下几件事:

  1. 索引区块链数据:

    • TheGraph 会收集和处理区块链上产生的各种数据,包括交易记录、合约事件等。
    • 通过定义 GraphQL 查询接口,开发者可以高效地查询和获取所需的数据。
  2. 为 dApp 提供数据查询服务:

    • dApp 开发者可以利用 TheGraph 提供的索引数据,构建出更丰富的用户体验。
    • 不需要自己处理复杂的区块链数据查询逻辑,大大降低了开发难度。
  3. 构建去中心化的数据市场:

    • TheGraph 网络由一群索引者(Indexers)组成,他们负责处理数据并提供查询服务。
    • Indexers可以获得来自 dApp 开发者的查询费用,形成一个去中心化的数据市场。
  4. 提高数据可靠性和安全性:

    • 由于 TheGraph 是建立在区块链之上的,数据查询过程是透明、可验证的。
    • 这大大提高了数据的可靠性和安全性,避免了单点故障问题。

如何使用TheGraph查询ENS信息?


以下是使用Go语言通过The Graph查询ENS信息的代码:

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
    "time"
)

const GraphQLEndpoint = "https://api.thegraph.com/subgraphs/name/ensdomains/ens"

type GraphQLRequest struct {
   
   
    Query     string                 `json:"query"`
    Variables map[string]interface{
   
   } `json:"variables"`
}

type GraphQLResponse struct {
   
   
    Data struct {
   
   
        Domains []struct {
   
   
            ID              string `json:"id"`
            Name            string `json:"name"`
            LabelName       string `json:"labelName"`
            ResolvedAddress struct {
   
   
                ID string `json:"id"`
            } `json:"resolvedAddress"`
            Owner struct {
   
   
                ID string `json:"id"`
            } `json:"owner"`
            Resolver struct {
   
   
                Address string `json:"address"`
            } `json:"resolver"`
            TTL       string `json:"ttl"`
            CreatedAt string `json:"createdAt"`
        } `json:"domains"`
    } `json:"data"`
}

func queryENS(domainName string) (*GraphQLResponse, error) {
   
   
    query := `
    query ($name: String!) {
        domains(where: { name: $name }) {
            id
            name
            labelName
            resolvedAddress { id }
            owner { id }
            resolver { address }
            ttl
            createdAt
        }
    }
    `

    var
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值