Sol-verifier 构造函数参数 - 失败 - 无法验证



我正在使用以太币.js进行 solidity 智能合约部署,并使用sol-verifier库验证 etherscan.io 上的智能合约。

sol-verifier 的 github 链接是 - https://github.com/Aniket-Engg/sol-verifier。

当合约在验证期间需要构造函数参数时,验证过程将失败。我已经使用以太.js库部署了我的合约。验证过程仅对具有带参数的构造函数的合约失败。

以下是使用以太币.js的合约部署脚本:

let factory = new ethers.ContractFactory(contractABI, contractBytecode, wallet);
let contract = await factory.deploy(tokenSymbol, projectName, numOfTokens);

在这里,tokenSymbol,projectName,numOfTokens是合约构造函数的参数

溶胶验证器的输入:

var data = {
key: etherscanAPIKey,
path : path.join(__dirname, '../../ERC20-Mintable-Contract/erc20_mintable_contract.sol'),
contractAddress:  contractAddress,
network  : contractConfig.PROVIDER,
contractName: contractName,
cvalues: [tokenSymbol, projectName, numOfTokens],
optimizationFlag: false
};

我在验证时传递的参数与部署智能合约时传递的参数相同。

输出:

{
"status": false,
"message": "Fail - Unable to verify"
}

参考合同:

0xa7a3373419dc09740a6D5c7c308230aB37581984 [手动验证方式 etherscan.io] 0x5Cb0832FA136486E15a2271E06f341c81f7d8602 [未能 使用溶胶验证器验证]

我确信这失败是因为构造函数参数,因为我尝试了一个没有参数的参数并且它通过了。

谢谢!

此问题已在最新版本中得到解决。再试一次:https://www.npmjs.com/package/sol-verifier

最新更新