1. NFT and ERC-721
- Non-Fungible Token(NFT): unique and not interchangeable token
- ERC-721
- Open standard interface for NFTs
- Track and transfer NFTs within smart contracts
- Use cases: digital(or physical) art, gaming, real estate, metaverse
2. Code analysis
- balanceOf: 특정 주소가 소유한 NFTs 수
- ownerOf: owner’s address of the NFT
- safeTransferFrom: NFT의 ownership 이동
- setApprovalForAll: owner가 operator에게 manage(e.g., transfer) 권한 부여
3. How does NFT works
- ERC-721기반 스마트 컨트랙트에서 NFT를 관리(owner, 개수, 전송권한)
- Account에 ERC-721기반 스마트 컨트랙트 배포
- Mint: account가 NFT를 발행, URI가 있다면 NFT와 URI를 mapping
- Transfer: owner 변경
- NFT Marketplace
- NFT Marketplace에 NFT contract address를 생성
- NFT contract address에서 보관되는 NFT를 marketplace에서 사용하기 위해 권한을 줌
4. OpenZeppelin
Appendix
- Breeding: 기존 NFT로 새로운 NFT를 만드는 것. 예를 들어, parent NFT가 가지고 있는 trait를 inherit하여 NFT를 생성하는 것