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

新版Remix无法复制ABI求助:复制后仅显示[]

解决新版Remix复制ABI显示"[]"的问题

我之前也碰到过新版Remix里这个烦人的ABI复制问题!试试下面这些方法,大概率能解决:

  • 先确认合约是否成功编译
    很多时候是空ABI的问题根源在于合约没编译通过或者编译状态异常。先切换到Remix的「Solidity Compiler」标签,检查目标合约旁边有没有绿色的对勾标记。如果没有,先解决所有编译报错(比如语法错误、依赖缺失),重新编译后再尝试复制ABI。

  • 检查ABI复制的入口是否正确
    新版Remix的ABI复制有几个入口,别选错了:

    1. 编译完成后,在「Solidity Compiler」标签里找到你的合约,点击旁边的「ABI」按钮直接复制;
    2. 或者切换到「Deploy & Run Transactions」标签,成功部署合约后,在已部署合约的下拉菜单里找到「Copy ABI」选项。
      要是误点了未编译的空文件或者未部署的合约条目,就会复制出空数组[]。
  • 刷新页面并清除缓存
    有时候Remix的前端缓存会抽风,导致ABI无法正确加载。试试刷新浏览器页面,或者清除浏览器缓存后重新打开Remix,重新编译合约再尝试复制。

  • 导出JSON文件手动提取ABI
    如果上面的方法都不管用,可以直接导出编译后的JSON文件来获取ABI:
    在「Solidity Compiler」标签里,点击合约旁边的「JSON」按钮下载文件,用文本编辑器打开后,找到"abi"字段对应的数组内容,直接复制这段代码即可。

  • 检查合约是否无公开接口
    如果你的合约里没有任何公开函数、事件或者可外部调用的方法,ABI确实会是空数组[]——这是正常情况。只要给合约添加至少一个公开接口(比如function test() public pure returns (uint) { return 1; }),重新编译后就能生成正常的ABI了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:49:38