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

Uniswap V3在Sepolia测试网无法运行问题求助

问题定位与解决方案

以下是导致Sepolia测试网兑换失败的核心问题及对应修复步骤:

1. 合约中SwapRouter地址错误

你的合约硬编码了主网Uniswap V3 SwapRouter地址,但Sepolia测试网的SwapRouter地址不同,必须替换:

  • Sepolia测试网SwapRouter地址:0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E

修改合约中的swapRouter常量:

ISwapRouter public constant swapRouter = ISwapRouter(0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E);

2. 测试代码未切换到Sepolia代币地址

测试代码仍使用主网WETH/USDC地址,需替换为Sepolia链上的对应地址:

const WETH9 = "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"; // Sepolia WETH
const USDC = "0x6f14C02Fc1F78322cFd7d707aB90f18baD3B54f5"; // Sepolia USDC

3. Hardhat配置缺失Sepolia网络

原配置仅包含主网分叉环境,需添加Sepolia网络的RPC URL、测试账户私钥等信息:
修改hardhat.config.ts:

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import { privateKey1 } from "./constants/constants";

const config: HardhatUserConfig = {
  solidity: "0.7.6",
  networks:{
    hardhat:{
      forking:{
        url:"https://mainnet.infura.io/v3/42237fbfbd2a472c88e935a4bfac5aac"
      }
    },
    sepolia: {
      url: "https://sepolia.infura.io/v3/你的Infura项目ID", // 替换为你的RPC服务地址
      accounts: [privateKey1] // 确保该账户持有Sepolia测试ETH
    }
  }
  
};

export default config;

4. 交易Deadline设置过于严苛

你使用block.timestamp作为交易截止时间,在测试网中可能因区块确认延迟导致交易过期,建议增加缓冲时间:
修改合约中的deadline参数:

deadline: block.timestamp + 60 * 10, // 设置为10分钟后过期,避免交易超时

5. 确保测试账户有足够Sepolia测试ETH

执行测试前,确认privateKey1对应的地址持有足够的Sepolia测试ETH,可通过官方测试水龙头获取。

6. 验证Uniswap池的手续费层级

确认Sepolia上WETH-USDC池子存在0.3%(3000)手续费的交易对,若不存在,需更换为已上线的手续费层级(比如100=0.01%、500=0.05%、10000=1%)。


修改完成后,重新编译合约并执行测试:

npx hardhat compile
npx hardhat test --network sepolia

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:18:09