Binance Smart Chain测试网智能合约验证失败求助
BSC测试网智能合约验证失败排查方案
问题描述
即使是这份极简智能合约也无法在Binance测试网完成验证,已尝试带构造函数参数和不带参数两种方式,使用Remix编译后提交验证仍失败。
智能合约代码
pragma solidity ^0.8.0; contract miniContract { address contractCreator; constructor() public { contractCreator = msg.sender; } }
编译输出信息
- ABI代码
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" } ]
- 字节码
6080604052348015600f57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603f80605d6000396000f3fe6080604052600080fdfea2646970667358221220fbeaad32f4b33eaa4eaf624c2ff32432ae611a5adbe9a4da1709388a3e65ba5464736f6c63430008120033
验证页面截图

排查与解决步骤
严格匹配编译器版本与优化设置
- 合约指定
pragma solidity ^0.8.0,验证时必须选择Remix编译时使用的具体版本(如0.8.0、0.8.19等),不能选择版本范围。 - 检查Remix的优化开关:若编译时开启了优化,验证页面必须同步开启对应选项,否则字节码会不匹配。
- 合约指定
修正字节码输入
- 你提供的字节码包含末尾的元数据段(从
a2开始的内容),BSC验证系统可能需要去掉这部分,仅保留核心字节码后再提交。 - 确保字节码无多余空格、换行,直接粘贴纯字符串。
- 你提供的字节码包含末尾的元数据段(从
构造函数参数设置
- 该合约构造函数无参数,验证时必须选择**“无构造函数参数”**选项,不要填写任何内容,清空之前的错误输入后重试。
使用Remix一键验证
- 在Remix部署合约后,直接点击“Verify and Publish”按钮,选择Binance测试网,系统会自动同步编译参数和字节码,避免手动复制出错。
确认网络与交易状态
- 确保合约部署在Binance测试网,且部署交易已完成区块确认,未确认的交易无法进行验证。
内容的提问来源于stack exchange,提问作者mohamad ghezelbash
相关产品推荐
相关产品推荐

