Published on

hardhat-etherscan: arguments errorの対処方法

Authors
  • avatar
    Name
    ssu
    Twitter

hardhatとetherscanを使ってcontractをverifyする際に下記のようなエラーが出る場合があります。 この対処方法を紹介します。

example-contract git:(main) ✗ npx hardhat verify 0x51.......F1a --network rinkeby Nothing to compile Error in plugin @nomiclabs/hardhat-etherscan: The constructor for contracts/ExampleContract.sol:ExampleContract has 2 parameters but 0 arguments were provided instead.

これはEampleContractはdeploy時、つまり、constructorで二つの引数を取っており、 それが指定されていないよということです。 そのため、deploy時に指定した値を、指定してあげれば良いのです。

慣習的にargument.jsというconstructorのパラーメターを入れて、それを使うやり方が主流です。 たとえば、deploy時に、exampleContract.deploy('hello', 10)と指定していた場合には、 argument.jsを以下のようにします。

// argument.js module.exports = [ 'Hello', 10, ];

そして、これを指定してあげれば、うまくverifyさせることができます。

npx hardhat verify --constructor-args argument.js --network rinkeby 0x.5.....F1a

参考: Unable to verify a contract on hardhat