我正在尝试验证实现智能合约,但是我收到以下错误,它是使用 hardhat deployProxy 部署的,所有 3 个合约都已部署并且工作正常。
我做了什么:
- 部署后,我将 .sol 文件复制粘贴到 Remix,在其中将文件展平,然后将粘贴复制到 etherscan 并在顶部添加 // SPDX-License-Identifier: MIT,因为如果我不这样做会收到错误消息t,说没找到。
- 填写设置,优化200次运行,0.8.2编译器,MIT许可
- 单击验证并收到错误...
我检查过的内容:
- 这里的代码https://etherscan.io/address/0xb6450c438d7e68be1f1c4534a8a354bf3d85c72e#code与“deployedBytecode”相同:来自 artifacts/contract/json 文件。
- 来自 etherscan 编译器输出的代码“字节码(我们正在寻找的)与上面相同 json 文件中的“字节码”相同,除了它在末尾有这个额外的 a26469706673582212208fd45fec4fd2404bbdee05ddd55fd9b30a80a5c1b9d089bf70b72b2338437c3506408026c35064080263
- 来自 etherscan 编译器的字节码“- vs 我们得到的 -”#2 在上面提到的 json 文件中找不到,来自安全帽项目中的工件。
额外信息:
我尝试使用 etherscan-verify 进行验证,但是我在控制台中收到错误消息,说“你是否更改了智能合约中的任何文件,错误的字节码”,我不记得确切,我愿意手动验证明显地!
非常感谢你!