将图片和 JSON 文件存到 IPFS
1. 下载安装 IPFS 客户端,详情参考 -
https://github.com/ipfs/ipfs-desktop/releases
2. 上传小图片到 IPFS Files 中,直接客户端就可以操作
3. 获取图片的链接,之后用来制作 JSON 文件
https://ipfs.io/ipfs/QmZXFESAECpuh8yZZr8nGqQFr7JZyaRD5UAbRDji71mBvc
4. 上传小图片到 IPFS Files 中,直接客户端就可以操作
5. 制作 JSON 文件,并上传到 IPFS Files 中
{
"name": "NFT Renee",
"description": "NFT Renee Demo.",
"image": "https://ipfs.io/ipfs/QmZXFESAECpuh8yZZr8nGqQFr7JZyaRD5UAbRDji71mBvc",
}
6. 获取 JSON 文件的链接,之后铸造NFT会用到
https://ipfs.io/ipfs/QmUCs2q8SbwS6r9cwzoV6N3D1yWg1mF2HAz3aqA5FLtVSF
创建 NFT 代币
1. 打开以太坊 Remix IDE:
https://remix.ethereum.org
2. 创建一个新的 Solidity 文件,nft.sol,粘贴如下代码:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import "https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol";
import "https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol";
contract newNFT is NFTokenMetadata, Ownable {
constructor() {
nftName = "RENEE NFT";
nftSymbol = "RENEE";
}
function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {
super._mint(_to, _tokenId);
super._setTokenUri(_tokenId, _uri);
}
}
3. 打开 DEPLOY & RUN TRANSACTIONS
4. 选择 Injected Web3 环境,链接钱包,点击 Deploy
然后等一会儿,NFT 合约就创建成功了!
Mint NFT 代币
等 deployment 完成后,打开 Deployed Contracts,打开 mint 函数
- 在 _ton 中添加接收 NFT 的钱包地址。
- 在 _tokenid 中输入任何数字值 (建议为1,因为它是第一个)。
- 在 _uri 字段中,添加第一节获得的 JSON 文件的 URI。
2. 点击 Transact,再去 Metamask 里面点击确认。
然后再等一会,钱包地址中就有了这个 NFT。