반응형
https://developerjjh.tistory.com/171
interface IERC721 코드
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
interface IERC721 {
event Transfer(
address indexed _from,
address indexed _to,
uint indexed _tokenId
);
event Approval(
address indexed _from,
address indexed _approved,
uint indexed _tokenId
);
event ApprovalForAll(
address indexed _owner,
address indexed _operator,
bool _approved
);
function balanceOf(address _owner) external view returns (uint balance);
function ownerOf(uint _tokenId) external view returns (address owner);
function transferFrom(address _from, address _to, uint _tokenId) external;
function approve(address _to, uint _tokenId) external;
function setApprovalForAll(address _operator, bool _approved) external;
function getApproved(uint _tokenId) external view returns (address _operator);
function isApprovedForAll(
address _owner,
address _operator
) external view returns (bool);
}
- function balanceOf(address _owner) : 소유자(_owner)의 토큰 총개수를 조회하는 함수
- function ownerOf(uint _tokenId) : 토큰 소유자 조회, _tokenId를 소유하고 있는 주소를 반환
- function transferFrom(address _from, address _to, uint _tokenId) : 토큰을 전송하는 함수
- _from에서 _to로 _tokenId를 전송
- function approve(address _to, uint _tokenId) : 토큰 하나에 대한 권한 위임, 토큰 하나에 대해 대리인을 선정(위임)하는 함수
- function setApprovalForAll(address _operator, bool _approved) : 모든 토큰에 대한 권한을 위임 설정(취소할 수도 있다)
- _operator에게 모든 토큰에 대한 위임을 받을 대리인, bool 값에 따라 대리인을 시키거나 취소할 수 있다
- function getApporved(uint _tokenId) view returns (address _operator) : 토큰에 대한 권한을 위임받은 계정 (대리인)
- _tokenId에 대한 권한을 위임 받은 계정(대리인)을 반환한다
- function isApporvedForAll(address _owner, address _operator) external view returns (bool) : 모든 토큰에 대해 권한을 위임했는지 bool 값을 반환
- 소유자 계정(_owner)이 소유하고 있는 모든 토큰의 대리이(_operator)인지 bool값으로 확인하는 용도로 사용
'BlockChain' 카테고리의 다른 글
(BlockChain) ERC721Enumerable 구현 (0) | 2023.03.12 |
---|---|
(BlockChain) ERC721 구현 (0) | 2023.03.12 |
(BlockChain) IERC721Metadata 구현 (0) | 2023.03.10 |
(BlockChain) Interface IERC20 / ERC20 Token 구현 (0) | 2023.03.09 |
(BlockChain) Solidity 문법(2) (0) | 2023.03.09 |