原文在这里
在这个教程中,我们将探索如何使用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: 恋水无意
腾讯云开发者社区:孟斯特