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

Remix JavaScript VM环境下调用Uniswap createPair创建交易对失败

错误核心原因

你当前的报错和代码逻辑本身无关,问题出在部署环境和硬编码地址不匹配:

  • 你代码里写死的_factoryAddress(0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73)、_routerAddress(0x10ED43C718714eb63d5aA57B78B54704E256024E)都是BSC主网 PancakeSwap V2 的官方合约地址,仅在BSC主网上真实存在。
  • JavaScript VM是Remix内置的本地临时模拟链,链上没有部署过这两个合约,你对不存在的合约地址发起createPair外部调用,自然会触发交易回滚。

可行的测试方案

createPair方法完全可以在测试环境运行,你只需要调整环境配置即可:

  • 方案1:切换到BSC测试网部署。PancakeSwap V2在BSC测试网也有公开的部署地址,把你代码里的工厂、路由硬编码地址替换为BSC测试网对应地址,部署时选择对应链的节点连接即可正常运行。
  • 方案2:本地测试环境手动部署依赖。如果一定要用JavaScript VM做本地测试,你需要先在VM环境中依次部署PancakeSwap V2的Factory合约、WETH合约、Router合约,拿到本地部署生成的三个地址替换你代码里的硬编码值,再部署你的代币合约就不会触发报错。

额外优化建议

你目前把createPair逻辑放在构造函数中是可以运行的,但更推荐的做法是把创建交易对的逻辑拆分为独立的仅Owner可调用方法,在代币合约部署完成后再手动调用创建交易对,避免构造函数逻辑过重引发其他未知问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:06:03