Ethereum 使用导入的OpenZeppelin文件在Etherscan上验证并发布合同

Ethereum 使用导入的OpenZeppelin文件在Etherscan上验证并发布合同,ethereum,solidity,smartcontracts,cryptocurrency,etherscan,Ethereum,Solidity,Smartcontracts,Cryptocurrency,Etherscan,我目前正在构建一个符合ERC721的合同,并已在此处发布了该合同:-我现在正在尝试验证和发布该合同的源代码 我的文件的开头如下所示: // SPDX-License-Identifier: MIT // We will be using Solidity version 0.8.4 pragma solidity 0.8.4; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract Viper

我目前正在构建一个符合ERC721的合同,并已在此处发布了该合同:-我现在正在尝试验证和发布该合同的源代码

我的文件的开头如下所示:

// SPDX-License-Identifier: MIT

// We will be using Solidity version 0.8.4
pragma solidity 0.8.4;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract ViperToken is ERC721 {
但是,尝试使用Solidity单个文件进行验证和发布时,出现以下错误:

ParserError: Source "@openzeppelin/contracts/token/ERC721/ERC721.sol" not found: File import callback not supported
 --> myc:6:1:
  |
6 | import "@openzeppelin/contracts/token/ERC721/ERC721.sol"
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

有人能给我指一下到1的方向吗。解决这个问题或2。有关如何适当编写包含可通过Etherscan验证的已导入依赖项的合同的文档。现在这只是一份单一文件的合同。

简单地说,我必须到一个兔子洞里去解决这个问题,因为我对Solidity还很陌生

我必须做到以下几点:

  • 学习并使用它来建立一个项目,并将我的合同放在那里(使用Ganache对任何刚接触Solidity的人的测试也有很大帮助)
  • 使用高清钱包提供商软件包,并按照此处的教程在ropsten Etherscan上获取它
  • 最后,使用truffle插件验证在Etherscan上验证合同
  • 总而言之,我非常确定在Etherscan web应用程序中无法验证包含导入文件的合同

    如果有人有兴趣了解我是如何构建这一切的,那么最终产品就在这里(这只是我在网上找到的CryptoKitties克隆,作为基础并对其进行了更新)