首页 > 解决方案 > web3 从地址获取名称

问题描述

    import Web3 from "web3";

    
    useEffect(() => {
    const web3 = new Web3(window.ethereum);

    web3.eth.ens.getAddress("ethereum.eth").then(function (address) {
        console.log(address);
    });
    }, []);

在这里使用此代码我address从以太名称中获取有什么方法可以从地址中获取名称

    web3.eth.ens.getOwner("0xc74E8eFaFE54481bD109f97422AeBca607499f57").then(function (address) {
        console.log(address);
    });

我正在尝试上面的代码,但如果我输入0xc74E8eFaFE54481bD109f97422AeBca607499f57我应该得到它不起作用ethereum.eth 请看看我怎么能得到这个

标签: ethereumweb3metamask

解决方案


ENS 文档中可以看出,web3.js 无法执行“反向解析”,即从地址中获取 ENS 名称。但是,您可以通过ensjs API 执行此操作,如下所示:

const address = '0xc74E8eFaFE54481bD109f97422AeBca607499f57';
var name = await ens.getName(address)
// Check to be sure the reverse record is correct.
if(address != await ens.name(name).getAddress()) {
  name = null;
}

推荐阅读