web3 получить имя по адресу

#ethereum #web3 #metamask

Вопрос:

     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
пожалуйста, взгляните, как я могу это получить

Ответ №1:

Как вы можете видеть из документации ENS, web3.js не удается выполнить «обратное разрешение», т. е. получить имя ENS с адреса. Однако вы можете сделать это с помощью API ensjs следующим образом:

 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;
}