Sol-verifier 构造函数参数 - 失败 - 无法验证
Sol-verifier Constructor Arguments - Fail - Unable to verify
我正在使用 ether.js 进行 solidity 智能合约部署,并且 sol-verifier 库在 etherscan.io.
sol-verifier 的 github link 是 - https://github.com/Aniket-Engg/sol-verifier.
当合约在验证期间需要构造函数参数时,验证过程失败。我已经使用 ether.js 库部署了我的合同。验证过程仅对具有带参数构造函数的合约失败。
这里是使用Ether.js的合约部署脚本:
let factory = new ethers.ContractFactory(contractABI, contractBytecode, wallet);
let contract = await factory.deploy(tokenSymbol, projectName, numOfTokens);
这里,tokenSymbol、projectName、numOfTokens是合约构造函数的参数
sol-verifier 的输入:
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 [Manually Verified with
etherscan.io]
0x5Cb0832FA136486E15a2271E06f341c81f7d8602 [Fails to
verify using sol-verifier]
我确信这会因为构造函数参数而失败,因为我尝试了一个没有参数的方法并且它通过了。
谢谢!
这已在最新版本中解决。再试一次:https://www.npmjs.com/package/sol-verifier
我正在使用 ether.js 进行 solidity 智能合约部署,并且 sol-verifier 库在 etherscan.io.
sol-verifier 的 github link 是 - https://github.com/Aniket-Engg/sol-verifier.
当合约在验证期间需要构造函数参数时,验证过程失败。我已经使用 ether.js 库部署了我的合同。验证过程仅对具有带参数构造函数的合约失败。
这里是使用Ether.js的合约部署脚本:
let factory = new ethers.ContractFactory(contractABI, contractBytecode, wallet);
let contract = await factory.deploy(tokenSymbol, projectName, numOfTokens);
这里,tokenSymbol、projectName、numOfTokens是合约构造函数的参数
sol-verifier 的输入:
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 [Manually Verified with etherscan.io] 0x5Cb0832FA136486E15a2271E06f341c81f7d8602 [Fails to verify using sol-verifier]
我确信这会因为构造函数参数而失败,因为我尝试了一个没有参数的方法并且它通过了。
谢谢!
这已在最新版本中解决。再试一次:https://www.npmjs.com/package/sol-verifier