Аргументы конструктора Sol-Verifier - Сбой - Невозможно проверить - PullRequest
0 голосов
/ 15 апреля 2019

Я использую ether.js для развертывания интеллектуального контракта на надежность и библиотеку sol-verify , проверяющую смарт-контракт на etherscan.io.

Ссылка на githubдля sol-verifyier - 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-верификатора:

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 [Не удается проверить с помощью sol-verifyier]

Я уверен, что это не удается из-за аргументов конструктора, потому что я пробовал один без аргументов, и он прошел.

Спасибо!

1 Ответ

1 голос
/ 17 апреля 2019

Это было решено в последней версии.Попробуйте еще раз: https://www.npmjs.com/package/sol-verifier

...