#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 .