참고문헌, 그림출처

1. ERC-20 스마트 컨트랙트 작성

[ERC721] 계정 balance & 토큰 소유자 함수


참고할 소스코드[복붙용]

pragma solidity ^0.4.20;

interface ERC721 /* is ERC165 */ {

    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);

    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);

    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

    function balanceOf(address _owner) public view returns (uint256);

    function ownerOf(uint256 _tokenId) public view returns (address);

//    function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) public;

//    function safeTransferFrom(address _from, address _to, uint256 _tokenId) public;

//   function transferFrom(address _from, address _to, uint256 _tokenId) public;

//    function approve(address _approved, uint256 _tokenId) public;

//    function setApprovalForAll(address _operator, bool _approved) public;

//    function getApproved(uint256 _tokenId) public view returns (address);

//    function isApprovedForAll(address _owner, address _operator) public view returns (bool);

}

contract ERC721Implementation is ERC721{
    
    mapping(uint256 => address) tokenOwner; 
    mapping(address => uint256) ownedTokensCount; 
    
    function mint(address _to, uint _tokenId) public {
        tokenOwner[_tokenId] = _to; 
        ownedTokensCount[_to] += 1;
    }
    
    function balanceOf(address _owner) public view returns (uint256){
        return ownedTokensCount[_owner];
    }
    
    function ownerOf(uint256 _tokenId) public view returns (address){
        return tokenOwner[_tokenId];
    }
    

    
}


    function balanceOf(address _owner) public view returns (uint256);

    function ownerOf(uint256 _tokenId) public view returns (address);
function balanceOf(address _owner) public view returns (uint256){
        return ownedTokensCount[_owner];
    }

ownerOf 함수 사용법

function ownerOf(uint256 _tokenId) public view returns (address);
    function ownerOf(uint256 _tokenId) public view returns (address){
        return tokenOwner[_tokenId];
    }