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

如何修改或隐藏Etherscan上显示的旧implementation合约地址

问题说明

使用Solidity开发的可升级智能合约已完成多轮升级,每次升级后对应的implementation(逻辑实现)合约地址都会变更,但Etherscan对应地址页面始终留存显示旧的implementation合约地址。

  • 涉及对象:Rinkeby测试网对应代理合约的Read Proxy读取页面
  • 问题现象:页面留存显示历史升级前的旧implementation合约地址
  • 目标:找到修改或隐藏页面留存的旧implementation合约地址的可行操作方案。
操作方案

首先排除链上升级未生效的问题:先调用代理合约标准的implementation()视图方法,确认返回值是你最新升级后的逻辑合约地址。如果返回值仍是旧地址,说明之前的升级交易没有实际生效,需要先重新发送正确的升级交易完成链上状态更新,再处理Etherscan的显示问题。

Etherscan留存旧implementation地址本质是平台侧的代理映射缓存没有自动更新,不需要在合约层面做任何特殊操作,按以下步骤触发平台更新即可:

  • 打开对应代理合约的Etherscan页面,找到顶部Contract标签的下拉菜单,依次选择More Options -> Is this a proxy?
  • 在跳转的代理校验页面直接点击Verify按钮,Etherscan会重新扫描代理合约标准存储槽,读取当前链上真实生效的implementation地址
  • 扫描校验完成后,平台会自动替换缓存的代理映射信息,旧的implementation地址记录会被覆盖,代理读取页只会展示当前生效的最新逻辑合约地址,不会再留存旧地址显示。

如果点击Verify后仍然显示旧地址,可以直接提交Etherscan官方支持工单,附上代理合约地址、对应升级交易的哈希、最新的implementation合约地址,说明已完成合约升级需要更新代理显示信息即可,工单通常1-2个工作日会处理完成,测试网处理速度略慢于主网。

  • 不存在单独“隐藏”旧implementation地址的独立操作:Etherscan的代理合约页面只会展示当前校验到的生效中implementation地址,只要平台侧的代理映射缓存更新完成,旧地址自然不会再出现在代理页面的标识区域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:09:21