Work with FNS
FNS Development info
Last updated
FNS Development info
Last updated
// Initialize the contract instance
const ethers = require("ethers");
const hash = require("@ethersproject/hash");
const resolverAbi = [
"function addr(bytes32 node, uint256 coinType) view returns (bytes)",
"function name(bytes32 node) view returns (string)"
];
const publicResolverAddr = '0xe2c015abb52e22227354f78297f0c2de3807b311';
const provider = new ethers.providers.StaticJsonRpcProvider('https://hyperspace.filfox.info/rpc/v1');
const ContractPublicResolver = new ethers.Contract(
publicResolverAddr,
resolverAbi,
provider,
);
// Resolve name to address
const name = 'lickey.fil';
const namehash = ethers.utils.namehash(name);
ContractPublicResolver.addr(namehash, 461).then((address) => {
console.log(ethers.utils.toUtf8String(address));
}).catch((error)=> {
console.log(error);
});
// Reverse Resolver
const addr = '0x76346faC442F153ED8691fF88b1297643260d8a0';
const reverseNode = ethers.utils.namehash(hash.ensNormalize(`${addr.substring(2).toLocaleLowerCase()}.addr.reverse`));
console.log(reverseNode);
ContractPublicResolver.name(reverseNode).then((name) => {
console.log(name);
}).catch((error)=> {
console.log(error);
});