You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用ethers 6.6.0获取Sepolia测试网Metamask的Provider和Signer时遇ENS错误

解决ethers 6.6.0中Sepolia测试网调用getBalance(ENS域名)报错的问题

问题原因

Sepolia测试网不支持ENS(以太坊域名服务),当你调用provider.getBalance("ethers.eth")时,ethers会自动尝试解析该ENS域名对应的地址,但Sepolia网络中没有部署ENS相关合约,因此触发UNSUPPORTED_OPERATION错误。

解决方案

方案1:直接使用Hex格式的以太坊地址

将ENS域名替换为对应的0x开头的Hex地址,跳过ENS解析步骤:

let API_KEY = "....";
const getEthereumContract = async () => {
    const provider = new ethers.JsonRpcProvider("https://sepolia.infura.io/v3/{API_KEY}");

    await window.ethereum.enable();
    // 替换为你要查询的Hex格式地址,示例为ethers.eth对应的主网地址
    const balance = await provider.getBalance("0x6fC21092DA55B392b045eD78F4732bff3C580e2c");
    console.log({balance});
    const signer = await provider.getSigner();
    const transactionContract = new ethers.Contract(contractAddress, contractAbi, signer);

    console.log({provider, signer, transactionContract});
}

方案2:先通过主网解析ENS再查询余额

如果确实需要通过ENS域名获取地址,先用以太坊主网的Provider解析得到地址,再用Sepolia Provider查询该地址的余额:

let API_KEY = "....";
const MAINNET_API_KEY = "...."; // 你的主网API密钥
const getEthereumContract = async () => {
    // 主网Provider用于解析ENS
    const mainnetProvider = new ethers.JsonRpcProvider(`https://eth-mainnet.g.alchemy.com/v2/${MAINNET_API_KEY}`);
    const targetAddress = await mainnetProvider.resolveName("ethers.eth");

    const sepoliaProvider = new ethers.JsonRpcProvider(`https://sepolia.infura.io/v3/${API_KEY}`);
    await window.ethereum.enable();

    const balance = await sepoliaProvider.getBalance(targetAddress);
    console.log({balance});
    const signer = await sepoliaProvider.getSigner();
    const transactionContract = new ethers.Contract(contractAddress, contractAbi, signer);

    console.log({sepoliaProvider, signer, transactionContract});
}

注意事项

  • Sepolia测试网未部署ENS合约,所有依赖ENS的操作(如resolveName、传入ENS域名调用getBalance)均无法正常执行
  • 无论使用Alchemy、Infura还是Web3Provider连接Sepolia,都需避免传入ENS域名作为地址参数

内容的提问来源于stack exchange,提问作者MrSudden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 21:37:44