openzeppelin/contracts/utils/Counters.sol" not found

运行以下

复制代码
// SPDX-License-Identifier: MIT
pragma solidity 0.7.5;

import {Counters} from "@openzeppelin/contracts/utils/Counters.sol";

contract MyToken is ERC721, Pausable, Ownable {
        using Counters for Counters.Counter;
        Counters.Counter private _tokenIdCounter;

        function safeMint(address receiver) public onlyOwner {
            uint256 tokenId = _tokenIdCounter.current();
            _safeMint(_receiver, tokenId);
            _tokenIdCounter.increment();
        }
复制代码

 

报错

ParserError: Source "project:/node_modules/openzeppelin/contracts/utils/Counters.sol" not found
 --> project:/contracts/tests.sol:4:1:
  |
4 | import "../node_modules/openzeppelin/contracts/utils/Counters.sol";
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 

使用 unit 类型代替 counter

复制代码
contract MyToken is ERC721, Pausable, Ownable {
        uint256 private _tokenIdCounter;

        function safeMint(address receiver) public onlyOwner {
            uint256 tokenId = _tokenIdCounter;
            _safeMint(_receiver, tokenId);
            _tokenIdCounter += 1;
        }
}
复制代码

 

posted @   apeNote  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示