今天教大家如何Mint NFT在Opensea上显示出来。
首先先写一个标准的ERC721合约。然后继承ERC721URIStorage。代码如下:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract MyToken is ERC721, ERC721URIStorage, Ownable {
constructor() ERC721("MyToken", "MTK") {}
function safeMint(address to, uint256 tokenId, string memory uri)
public
onlyOwner
{
_safeMint(to, tokenId);
_setTokenURI(tokenId, uri);
}
// The following functions are overrides required by Solidity.
function _burn(uint256 tokenId) internal override(ERC721, ERC721URIStorage) {
super._burn(tokenId);
}
function tokenURI(uint256 tokenId)
public
view
override(ERC721, ERC721URIStorage)
returns (string memory)
{
return super.tokenURI(tokenId);
}
}
部署合约后,调用safeMint函数就可以创建NFT了。
需要注意的是要想在Opensea上显示你的NFT,uri你需要按照Opensea的元数据来设置。
下面是Opensea的官方文档:https://docs.opensea.io/docs/metadata-standardshttps://docs.opensea.io/docs/metadata-standards
?这样就可以在Opensea显示你制作的NFT了。
这是我做的一个Demo:
http://106.52.21.244:8085/http://106.52.21.244:8085/
如有问题联系QQ253319066?
|