Независимо от метода, я не могу импортировать открытые контракты Zeppelin в VSCode

#blockchain #solidity #openzeppelin #brownie

Вопрос:

Я использовал NPM для установки openzeppline. После этого я перезагрузил весь свой компьютер, но, что бы я ни пытался, я не смог импортировать ни одного контракта из openzeppline. Теперь даже при использовании смесей Brownie он все равно не импортируется должным образом. Я даже пробовал использовать такие вещи, как импорт URL-адресов:

 import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.3.0/contracts/math/SafeMath.sol";
 

У кого-нибудь еще есть эта проблема или есть предположения о том, что не так? Спасибо.

Вот немного кода (просто смесь Брауни)

 // SPDX-License-Identifier: MIT
pragma solidity >=0.6.6 <0.9.0;

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

contract SimpleCollectible is ERC721 {
    uint256 public tokenCounter;
    constructor () public ERC721 ("Dogie", "DOG"){
        tokenCounter = 0;
    }

    function createCollectible(string memory tokenURI) public returns (uint256) {
        uint256 newItemId = tokenCounter;
        _safeMint(msg.sender, newItemId);
        _setTokenURI(newItemId, tokenURI);
        tokenCounter = tokenCounter   1;
        return newItemId;
    }

}
 

Комментарии:

1. Если вы используете расширение vscode-solidity, то оно не будет работать с пакетами, установленными Brownie. Брауни полагается на переназначение импорта, и расширение пока их не поддерживает . Но я думаю, что это все равно должно работать, если вы установите пакет через npm и настроите свой проект, как описано в README .