原文在这里

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

安装 web3.js

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

$ npm i web3

配置 web3 和 ENS

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

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包并导入:

$ npm install web3-eth-ens
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解析器来解析地址,并返回解析的以太坊地址。

const address = await web3.eth.ens.getAddress('ethereum.eth');
console.log(address);

getContenthash

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

const hash = await web3.eth.ens.getContenthash('ethereum.eth');
console.log(hash);

getOwner

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

const owner = await web3.eth.ens.getOwner('ethereum.eth');
console.log(owner);

getPubKey

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

const key = await web3.eth.ens.getPubkey('xyz.eth');
console.log(key);

getResplver

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

const resolver = await web3.eth.ens.getResolver('xyz.eth');
console.log(resolver.options.address);

getTTL

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

const result = await web3.eth.ens.recordExists('ethereum.eth');
console.log(result);

recordExists

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

const result = await web3.eth.ens.recordExists('ethereum.eth');
console.log(result);

结论

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


孟斯特

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。

Author: mengbin

blog: mengbin

Github: mengbin92

cnblogs: 恋水无意

腾讯云开发者社区:孟斯特