前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web3.js ENS 包

web3.js ENS 包

作者头像
孟斯特
发布2024-05-17 18:48:58
610
发布2024-05-17 18:48:58
举报
文章被收录于专栏:code人生code人生

原文在这里[1]

在这个教程中,我们将探索如何使用web3.js ENS(以太坊名称服务)包。以太坊名称服务(ENS)是建立在以太坊区块链上的去中心化域名系统。它作为一个分布式的、安全的、人类可读的命名系统,旨在将以太坊地址、智能合约和各种其他服务映射到容易理解的名称。

安装 web3.js

首先,需要在我们的项目中使用npm安装v4版web3.js:

代码语言:javascript
复制
$ npm i web3

配置 web3 和 ENS

现在,我们在TypeScript文件中配置web3.js和ENS:

代码语言:javascript
复制
import Web3 from 'web3';

// Assuming you have a provider, replace 'http://localhost:8545' with your Web3 provider
const web3 = new Web3('http://localhost:8545');

// You can use ENS with web3 object:
const ens = await web3.eth.ens.getAddress('alice.eth');

安装web3.js ENS

要直接使用ENS包,首先需要安装ENS包并导入:

代码语言:javascript
复制
$ npm install web3-eth-ens
代码语言:javascript
复制
import { ENS } from 'web3-eth-ens';

const ens = new ENS(undefined,'https://127.0.0.1:4545');

console.log(await ens.getAddress('vitalik.eth'));

ENS 示例

getAddress

getAddress函数检索与给定ENS名称关联的以太坊地址。它通过查询提供的ENS名称的ENS解析器来解析地址,并返回解析的以太坊地址。

代码语言:javascript
复制
const address = await web3.eth.ens.getAddress('ethereum.eth');
console.log(address);

getContenthash

getContenthash函数检索与提供的ENS名称关联的内容哈希。它与ENS解析器通信以获取内容哈希值,并返回解析的内容哈希。

代码语言:javascript
复制
const hash = await web3.eth.ens.getContenthash('ethereum.eth');
console.log(hash);

getOwner

getOwner函数获取指定ENS名称的所有者。它查询ENS注册表以获取ENS名称的所有者,并返回所有者的以太坊地址。

代码语言:javascript
复制
const owner = await web3.eth.ens.getOwner('ethereum.eth');
console.log(owner);

getPubKey

getPubKey函数使用ENS解析器获取与提供的ENS名称关联的公钥x和y。

代码语言:javascript
复制
const key = await web3.eth.ens.getPubkey('xyz.eth');
console.log(key);

getResplver

getResolver函数检索给定ENS名称的解析器。

代码语言:javascript
复制
const resolver = await web3.eth.ens.getResolver('xyz.eth');
console.log(resolver.options.address);

getTTL

getTTL函数检索与指定ENS名称关联的生存时间(TTL)值。

代码语言:javascript
复制
const result = await web3.eth.ens.recordExists('ethereum.eth');
console.log(result);

recordExists

recordExists函数检查是否存在给定ENS名称的记录。

代码语言:javascript
复制
const result = await web3.eth.ens.recordExists('ethereum.eth');
console.log(result);

结论

在这个教程中,我们介绍了如何使用web3.js ENS包与以太坊名称服务进行交互。现在,您应该能够使用web3.js版本4执行各种ENS相关的操作。欲了解更多详情,请访问web3.js ENS文档[2]部分。

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)[3]进行许可,使用时请注明出处。 Author: mengbin[4] blog: mengbin[5] Github: mengbin92[6] cnblogs: 恋水无意[7] 腾讯云开发者社区:孟斯特[8]

References

[1] 这里: https://docs.web3js.org/guides/ens/ [2] 文档: https://docs.web3js.org/libdocs/ENS [3] 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh [4] mengbin: mengbin1992@outlook.com [5] mengbin: https://mengbin.top [6] mengbin92: https://mengbin92.github.io/ [7] 恋水无意: https://www.cnblogs.com/lianshuiwuyi/ [8] 孟斯特: https://cloud.tencent.com/developer/user/6649301

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 孟斯特 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 web3.js
  • 配置 web3 和 ENS
  • 安装web3.js ENS
  • ENS 示例
    • getAddress
      • getContenthash
        • getOwner
          • getPubKey
            • getResplver
              • getTTL
                • recordExists
                • 结论
                  • References
                  相关产品与服务
                  云开发 CloudBase
                  云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档