以太坊域名解析服务(ENS)是一种将以太坊地址映射到易于读取的名称的方式。在以太坊生态系统中,ENS 可以通过 npm 包 ethereum-ens 轻松访问。本文将介绍如何使用 ethereum-ens 包,以实现向 ENS 注册和解析以太坊地址的功能。
安装和引入
使用 npm 包管理器安装 ethereum-ens:
npm install ethereum-ens
引入 ethereum-ens:
const { ethers } = require('ethers'); const { ENS } = require('ethereum-ens'); // 设置 Provider const provider = new ethers.providers.JsonRpcProvider(); // 实例化 ENS const ens = new ENS(provider);
解析以太坊地址
使用 resolver
函数解析以太坊地址。这个函数接受一个以太坊地址,返回对应的 ENS 名称:
const resolver = async (address) => { const name = await ens.reverse(address).name(); return name; }; resolver('0x1234567890123456789012345678901234567890') .then(console.log) // 'example.eth' .catch(console.error);
注册 ENS 名称
使用 register
函数注册 ENS 名称。这个函数需要一个以太坊账户,及要注册的 ENS 名称:
-- -------------------- ---- ------- ----- -------- - ----- --------- ----- -- - ----- --------- - ----- ---------------------------------------------- - ---- ----- -- - ----- -------------------------------------- ----------------- ----- ---------- -- ----- ------- - - -------- ----------- ----------- ----- -- ----- ---- - -------------- ----------------- ----- ------------------ -- - ----- -------- -------------- --- - ----------------------展开代码
示例代码
-- -------------------- ---- ------- ----- - ------ - - ------------------ ----- - --- - - ------------------------ ----- -------- - --- ----------------------------------- -- --- --- ----- --- - --- -------------- -- ------- ----- -------- - ----- --------- -- - ----- ---- - ----- ---------------------------- ------ ----- -- ------------------------------------------------------ ------------------ -- ------------- ---------------------- -- -- --- -- ----- -------- - ----- --------- ----- -- - ----- --------- - ----- ---------------------------------------------- - ---- ----- -- - ----- -------------------------------------- ----------------- ----- ---------- -- ----- ------- - - -------- ----------- ----------- ----- -- ----- ---- - -------------- ----------------- ----- ------------------ -- - ----- -------- -------------- --- - ----------------------展开代码
总结
通过本文,我们已经学会了如何使用 ethereum-ens 包,实现以太坊地址与 ENS 名称的解析和注册。在实际项目中使用 ENS,可以极大地提高用户体验。如有需要,可以进一步深入了解 ENS 的技术细节。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedad99b5cbfe1ea0610ca5