Mumbai测试网交互合约遇ENS报错:getResolver操作不支持求助
解决Mumbai测试网合约交互时的ENS不支持错误
与部署在Mumbai测试网的合约交互时,触发以下错误:
network does not support ENS (operation="getResolver", network="maticmum", code=UNSUPPORTED_OPERATION, version=providers/5.7.2) at Logger.makeError (http://localhost:3000/static/js/bundle.js:7289:19) at Logger.throwError (http://localhost:3000/static/js/bundle.js:7298:16) at Web3Provider.<anonymous> (http://localhost:3000/static/js/bundle.js:9901:16) at Generator.next (<anonymous>) at fulfilled (http://localhost:3000/static/js/bundle.js:7984:24)
问题原因
Mumbai测试网本身不支持ENS(以太坊域名服务),你的代码中可能默认启用了ENS相关操作,或者在初始化Provider时未明确禁用ENS功能,导致触发了不支持的getResolver操作。
解决方案
初始化Provider时禁用ENS
使用ethers.js的Web3Provider时,通过配置项明确关闭ENS支持:import { Web3Provider } from "@ethersproject/providers"; const provider = new Web3Provider(window.ethereum, { name: "maticmum", chainId: 80001, ensAddress: null // 禁用ENS解析 });直接使用合约地址而非域名
交互时传入合约的十六进制地址,不要使用ENS域名(如xxx.eth),绕过ENS解析步骤。排查代码中的ENS调用
检查代码中是否存在getResolver、resolveName等ENS相关方法调用,移除或替换为直接使用地址的逻辑。
内容的提问来源于stack exchange,提问作者ABHISHEK YADAV
相关产品推荐
相关产品推荐

