使用 ERC721 标准发行 NFT 合约,在OpenSea上查看

  • 链创通
  • 更新于 2024-07-10 07:48
  • 阅读 396

使用 ERC721 标准发行 NFT 合约,在OpenSea上查看

NFT (Non-Fungible Token) 是一种基于区块链技术的数字资产,它具有唯一性和不可互换性。每个 NFT 都有一个唯一的标识符,并且可以包含各种类型的数据,如图像、音频、视频等。NFT 在区块链上记录了所有权和转让历史,使其在数字艺术、游戏、收藏品等领域得到了广泛应用。

如果你想在以太坊上创建一个 NFT,可以使用 Solidity 编写智能合约,并使用 ERC-721 或 ERC-1155 标准。以下是一个简单的步骤指南,帮助你创建和部署一个 NFT 智能合约。

用 ERC721 标准发行一个自己 NFT 合约,并用图片铸造几个 NFT , 请把图片和 Meta Json数据上传到去中心的存储服务中,请找到出在 OpenSea 的 NFT 链接。

要使用 ERC721 标准发行自己的 NFT 合约并用图片铸造几个 NFT,下面是一个完整的步骤指南,包括上传图片和元数据到去中心化的存储服务(例如 IPFS),以及在 OpenSea 上查看 NFT 的链接。

1. 编写并部署 ERC721 智能合约

首先,编写一个 ERC721 智能合约。以下是一个简单的例子:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyNFT is ERC721URIStorage, Ownable {
    uint256 public tokenCounter;

    constructor() ERC721("MyNameNFT", "EGAMA") Ownable(msg.sender) {
        tokenCounter = 0;
    }

    function createNFT(string memory tokenURI) public onlyOwner returns (uint256) {
        uint256 newTokenId = tokenCounter;
        _safeMint(msg.sender, newTokenId);
        _setTokenURI(newTokenId, tokenURI);
        tokenCounter++;
        return newTokenId;
    }
}

2. 上传图片和元数据到 IPFS

你可以使用 Pinata 服务将图片和元数据上传到 IPFS。

上传图片

将图片上传到 IPFS,并记录下返回的 CID(Content Identifier)。

mymamenft.png CID:QmSDFdbzGBmRYZc9e9FcK91PWnbJCSa2NmMb72W1cfmSPF

创建元数据 JSON 文件

创建一个 JSON 文件,包含以下内容:

{
  "name": "MyNameNFT",
  "description": "This is my first name NFT",
  "image":  "ipfs://QmSDFdbzGBmRYZc9e9FcK91PWnbJCSa2NmMb72W1cfmSPF"
}

将此 JSON 文件上传到 IPFS,并记录下返回的 CID为:QmRHPgDYBpVzKsdzsx8wvgp8ktMP9Gr6R95R1b84nyB2w3。

3. 铸造 NFT

在部署合约后,调用 createNFT 函数,传入元数据的 IPFS URI。例如:

const contract = new ethers.Contract(contractAddress, abi, signer);
await contract.createNFT("ipfs://QmRHPgDYBpVzKsdzsx8wvgp8ktMP9Gr6R95R1b84nyB2w3");

image-20240709175056246.png

4. 查看 OpenSea 链接

要在 OpenSea 上查看你的 NFT,请使用以下 URL 格式:

https://testnets.opensea.io/assets/sepolia/0xA98287D39fD81d9F9c384981d8fbb7563C7b7780/0

<contract_address> 替换为你的智能合约地址0xA98287D39fD81d9F9c384981d8fbb7563C7b7780,将 <token_id> 替换为铸造的 NFT ID:0。

完整流程示例

  1. 部署合约到 Sepolia 测试网。
  2. 使用 Pinata 上传图片,得到 CID Qm...ImageCID
  3. 创建元数据 JSON 文件,并上传,得到 CID Qm...MetadataCID
  4. 铸造 NFT,调用 createNFT("ipfs://Qm...MetadataCID")
  5. 在 OpenSea 上查看:
https://testnets.opensea.io/assets/sepolia/0xA98287D39fD81d9F9c384981d8fbb7563C7b7780/0

这样,你就可以使用 ERC721 标准发行自己的 NFT,并在 OpenSea 上查看它们了。

  • 原创
  • 学分: 19
  • 分类: NFT
  • 标签:
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
链创通
链创通
0x5312...1e69
歪脖山徒步虾