题目
一个协议通过代理合约对外提供服务,入口地址长期不变,实现逻辑会定期升级。前端同学把实现合约地址写进了业务配置,升级后部分调用开始失败;另一位同学把「这个地址已经审计过」当成长期结论。请从代理模式出发,说明前端配置与调用需要注意什么。
考察目标
- 代理与实现的地址关系,以及前端应该配置哪个地址。
- EIP-1967 存储槽约定的作用与使用方式。
- 升级带来的 ABI、语义与安全结论变化。
说明代理模式的地址关系、EIP-1967 的存储槽约定,以及升级带来的 ABI 与安全结论变化。
一个协议通过代理合约对外提供服务,入口地址长期不变,实现逻辑会定期升级。前端同学把实现合约地址写进了业务配置,升级后部分调用开始失败;另一位同学把「这个地址已经审计过」当成长期结论。请从代理模式出发,说明前端配置与调用需要注意什么。
代理合约保存状态并对外保持地址不变,逻辑代码位于实现合约,通过委托调用执行;前端应配置并调用代理地址,使用与实现版本对应的 ABI,并在升级后重新核对 ABI 与函数语义。EIP-1967 约定了实现地址等信息的存储槽,工具链与区块浏览器据此识别代理。实现差异与工程取舍见深入回答。
发现这道题有问题? 反馈此题