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

使用thirdweb-react交互智能合约报错:无法获取合约字节码

解决thirdweb-react无法获取合约字节码的问题

问题根源

错误提示明确显示在**链ID 1(以太坊主网)**上查找合约地址,但你配置的ThirdwebProvider指定的是desiredChainId={11155111}(Sepolia测试网),这说明实际连接的链和期望的链不匹配,导致在错误网络上找不到目标合约的字节码。

修复步骤

  • 检查钱包当前连接网络:确保你的钱包(如MetaMask)已切换到Sepolia测试网,而非以太坊主网。若钱包未切换,thirdweb会默认使用钱包当前连接的链,忽略desiredChainId设置。
  • 显式指定链配置(推荐):不要仅依赖desiredChainId,改用chain参数直接传入Sepolia链对象,确保thirdweb强制使用指定网络:
    import { Sepolia } from "@thirdweb-dev/chains";
    
    <ThirdwebProvider chain={Sepolia}>
      <Router>
        <StateContextProvider>
          <App />
        </StateContextProvider>
      </Router>
    </ThirdwebProvider>;
    
  • 验证合约地址的网络归属:确认合约地址0x1c656A3A2780e1861AC054C12Afe1Db654092bc8确实部署在Sepolia测试网,可在Sepolia区块浏览器搜索该地址确认合约存在。
  • 清除缓存并重启项目:浏览器缓存或项目构建缓存可能导致链配置不生效,清除缓存后重新启动开发服务器。

额外排查点

若以上步骤无效,检查是否有其他代码逻辑覆盖了链配置,比如手动切换链的函数调用,或钱包连接时的链选择逻辑冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:40:03