我正在学习如何使NFT在坚实的。我有两个问题:
1.)什么是令牌URI?什么意思?
2.)我正在遵循ERC-721指南,但是我认为_setTokenURI函数已经从OpenZeppelin ERC-721标准中删除了,因为这段代码不会编译,那么如何设置新的URI呢?
pragma solidity ^ 0.8.10;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
contract EGM_NFT is ERC721 {
using Counters for Counters.Counter;
Counters.Counter private _tokenIDs;
constructor() ERC721("Gato NFT", "GFT") {}
function createGatoNFT (string memory tokenURI) public returns (uint256) {
_tokenIDs.increment();
uint256 newTokenID = _tokenIDs.current();
_safeMint(msg.sender, newTokenID);
_setTokenURI(newTokenID, tokenURI);
return newTokenID;
}
}发布于 2022-01-19 20:06:14
我认为这是因为您必须先安装依赖项,然后再导入,就像使用Counter.sol一样。
import "openzeppelin-solidity/contracts/token/ERC721/ERC721.sol";确保运行yarn add @openzeppelin/contracts或npm install @openzeppelin/contracts
发布于 2022-01-23 07:38:38
要回答URI问题-如果您想要使用IPFS,那么您应该安装IPFS来创建一个本地节点,并上传您的文件以获得一个您可以用来创建URI的散列。https://docs.ipfs.io/install/command-line/
如果您想要一个关于如何使用ERC721、IPFS和一些基本工具链来创建NFT的示例,请在youtube (https://www.youtube.com/watch?v=M576WGiDBdQ&t)上免费试用Patrick入门课程中的示例。NFT项目时间戳是09:50。
https://ethereum.stackexchange.com/questions/115266
复制相似问题