第33篇 ERC721智能合约(0.6.0)下

本篇接上篇:https://blog.csdn.net/wonderBlock/article/details/109950006

 

1. 部署721合约

在前面所有合约不做修改的情况下,写一个新的用于实际部署的721合约:

GameItem.sol

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

import "./ERC721.sol";
import "./Counters.sol";

contract GameItem is ERC721 {
    using Counters for Counters.Counter;
    Counters.Counter private _tokenIds;

    constructor() public ERC721("GameItem", "ITM") {}

    function mintItem(address player, string memory tokenURI) public returns (uint256) {
        _tokenIds.increment();
        uint256 newItemId = _tokenIds.current();
        _mint(player, newItemId);
        _setTokenURI(newItemId, tokenURI);

        return newItemId;
    }

    function burnItem(uint256 tokenId) public returns (bool) {
        require(_isApprovedOrOwner(_msgSender(), toke

猜你喜欢

转载自blog.csdn.net/wonderBlock/article/details/110609146
今日推荐