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
ERC-721: tokenId로 이동
- balanceOf(owner): ERC-721 quantity
- ownerOf(tokenId): account
- safeTransferFrom: NFT(tokenId)의 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