第一步:先准备一个MetaMask钱包,同时连接 ChainList 查找并添加 PlatON 主网络或者可以使用 PlatON Dev Scan 连接钱包,添加 PlatON Dev Network。
第二步:打开 Remix ,创建一个 .sol 文件,并输入以下代码
// contracts/ERC721_open_test.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
contract PlatON_NFT is ERC721URIStorage, Ownable {
using Counters for Counters.Counter;
Counters.Counter private _tokenIds;
constructor() ERC721("PlatON NFT Tutorial", "PNT") {}
function awardItem(address player, string memory tokenURI)
public onlyOwner
returns (uint256)
{
uint256 newItemId = _tokenIds.current();
_mint(player, newItemId);
_setTokenURI(newItemId, tokenURI);
_tokenIds.increment();
return newItemId;
}
}
第三步:编译版本选择 8.0,静静地等待 Compile 完成
第四步:部署选择连接 MetaMask
等待合约部署完成并上链,下方弹出绿色和 block 块号即部署成功
使用 awardItem
方法为目标地址 mint 指定 json 文件的 NFT
【备注:此 NFT 的 json 文件已经添加到 IPFS 中】
等待交易完成,完成后打开 PlatON Scan 查看对应地址是否有 PRC721 标准的 NFT 库存。
如果 PlatON Scan 显示的速度比较慢,可以换到 PlatEye 进行查看,这个浏览器比较快。