티스토리 뷰
ERC721
balanceOf(address owner) → uint256
주어진 address에서 보유중인 NFT의 개수를 반환
ownerOf(uint256 tokenId) → address
해당 NFT의 토큰아이디를 가지고 있는 소유자의 address를 반환
safeTransferFrom(address from, address to, uint256 tokenId)
from에서 to로 NFT를 전송
NFT는 from에서 소유하고 있어야함.
approve나 setApprovalForAll 를 통해 주어진 NFT를 전송하는 것을 허용된다면,
호출한사람이 소유하고 있지않아도 가능.
transferFrom(address from, address to, uint256 tokenId)
주어진 NFT를 from계정에서 to계정으로 전송한다. (권장되지 않는 방법)
approve(address to, uint256 tokenId)
to에게 주어진 토큰ID를 토큰을 전송할 권한을 준다.
getApproved(uint256 tokenId) → address
이 토큰을 전송할 수 있는 권한이 있는 계정의 주소를 반환, 주소가 설정되어 있지 않으면 0을 반환
setApprovalForAll(address to, bool approved)
어떤 토큰소유자의 모든 토큰에 대하여 operator가 모든 토큰을 전송하도록 허락하거나 금지한다.
*** _ 앞에 언더바 붙은 거는 internal 함수라는 의미.
_exists(uint256 tokenId) → bool
지정된 토큰이 존재하는지 여부를 반환
_isApprovedOrOwner(address spender, uint256 tokenId) → bool
spender가 주어진 토큰을 전송할 수 있는지 여부를 반환
_safeMint(address to, uint256 tokenId)
새 NFT를 안전하게 발행하기 위한 내부기능. 주어진 토큰ID가 이미 존재하는 경우 되돌린다.
_burn(uint256 tokenId)
토큰 소각
_transferFrom(address from, address to, uint256 tokenId)
주어진 토큰 ID의 소유권을 다른 주소로 이전하는 내부기능.
ERC721Metadata
tokenURI(uint256 tokenId) → string
주어진 토큰에대한 토큰URI를 반환
_setBaseURI(string baseURI)
모든 토큰ID에 대한 기본 URI를 설정하는 내부함수.
토큰URI의 접두사로 자동으로 추가된다.
baseURI() → string
_setBaseURI를 통해 설정된 기본 URI를 반환한다.
IERC721Receiver
onERC721Received(address operator, address from, uint256 tokenId, bytes data) → bytes4
ERC165인터페이스
_registerInterface를 통해 interfaceId를 등록하고.
supportsInterface를 통해 해당 interface 즉 함수가 있는 지 확인한다.
interfaceID => 함수에 대한 정보를 16진수로 표현한 것.
함수를 bytes4형으로 변환하고, _supportsInterfaces에 맵핑한다.
smart contract 코드를 보면 interfaceID의 경우 미리 계산을 한다음에 변수에 값만 대입을 해놓는다.
가스비를 절약하기 위함이라한다.
출처
728x90
'블록체인' 카테고리의 다른 글
Geth) Genesis Block, 계정생성 (0) | 2021.12.26 |
---|---|
하이퍼레져 튜토리얼 - Using the Fabric test network 001 (0) | 2021.12.19 |
메타마스크 (0) | 2021.10.12 |
리눅스에서 C 작성 및 실행. (0) | 2021.09.10 |
메타마스크 (0) | 2021.09.09 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 최소공통조상
- 다이나믹프로그래밍
- 투포인터 연습
- 개발자면접
- 면접비
- create databases;
- 투포인터
- 서버개발
- MOD
- 면접질문
- BFS
- 은둔청년체험
- 서버점검
- 다이나밍프로그래밍
- MySQL
- 로드나인
- create db
- 그래프
- DB 생성
- node.js
- 롱베케이션
- 동적프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함