gpt4 book ai didi

solidity - 使用 Hardhat 在 EtherScan 上验证智能合约时出错

转载 作者:行者123 更新时间:2023-12-05 08:29:31 28 4
gpt4 key购买 nike

下面是我的智能合约(已经部署)。当我尝试验证它以将代码提交给 Etherscan 时,我收到以下错误,我真的不知道为什么。请问有人可以建议吗?

 npx hardhat verify --network ropsten 0xE9abA803d6a801fce021d0074ae71256C9F24Da4

错误信息:

 Error in plugin @nomiclabs/hardhat-etherscan: More than one contract was found to match the deployed bytecode.
Please use the contract parameter with one of the following contracts:
* @openzeppelin/contracts/finance/PaymentSplitter.sol:PaymentSplitter
* contracts/MyNFTContract.sol: MyNFTContract

For example:

hardhat verify --contract contracts/Example.sol:ExampleContract <other args>

If you are running the verify subtask from within Hardhat instead:

await run("verify:verify", {
<other args>,
contract: "contracts/Example.sol:ExampleContract"
};

MyNFTContract.sol:

 // SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/finance/PaymentSplitter.sol";

contract MyNFTContract is PaymentSplitter {
// Addresses of payees
address[] private _CSPayees = [
0x23377d974d85C49E9CB6cfdF4e0EED1C0Fc85E6A,
0x85F68F10d3c13867FD36f2a353eeD56533f1C751
];
// Number of shares allocated per address in this contract. In same order as _CSPayees
uint256[] private _CSShares = [1, 2];

constructor() PaymentSplitter(_CSPayees, _CSShares) {}
}

我的部署脚本 deploy.js:

 async function main() {
const PaymentSplitter = await ethers.getContractFactory("MyNFTContract")

// Start deployment, returning a promise that resolves to a contract object
const myNFT = await PaymentSplitter.deploy()
console.log("Contract deployed to address:", myNFT.address)
}

main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error)
process.exit(1)
})

最佳答案

Hardhat 在项目中发现了多个合约(你的 MyNFTContract 和导入的 PaymentSplitter),它不知道你要验证哪个字节码。

您需要使用 --contract 选项指定(您要验证的)契约(Contract)。

npx hardhat verify \
--contract "contracts/MyNFTContract.sol" \
--network ropsten 0xE9abA803d6a801fce021d0074ae71256C9F24Da4

关于solidity - 使用 Hardhat 在 EtherScan 上验证智能合约时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69271231/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com