ERC1155란? (Openzepplin)

HyeongA·2023년 7월 27일
1

Blockchain

목록 보기
4/8
post-thumbnail

📝ERC-1155이란?

  • 1155번째로 등록된 EIP
  • ERC20와 ERC721을 합친 개념. Multi Token Standard.
  • 한 컨트랙트 안에서 다양한 종류의 토큰을 관리 할 수 있음
  • 보통 게임 아이템, 현실 세계 자산의 유동화, Digital Art등에서 사용됨
  • ERC-1155는 코드가 공개되어 있어 누구나 쉽게 배포 가능함
  • 가장 표준적이고 안정적인 구현체 : Openzepplin, Consensys

💻 ERC-1155 (Openzepplin)

🔎 Openzepplin ERC-1155

ERC1155_openzeppelin : openzeppelin의 ERC1155 코드는 필수적인 요소 외에도 사용하기 편한 기능들이 많이 포함되어 있다.

CODE 구성

구성요소
functionbalanceOf, balanceOfBatch, safeTransferFrom, safeBatchTransferFrom, setApprovalForAll, isApprovedForAll
eventTransferSingle, TransferBatch, ApprovalForAll, URI
mapping -_balances, _operatorApprovals

ERC1155로 인식되기 위한 기본 스펙은 위의 표와 같다. setURI는 필수 요소는 아니지만 보통 포함시켜 구현하는 편이다.

🔎 Function / Event / Mapping

  • _balances
    - n번 토큰의 갯수를 해당 지갑주소에 기록
    - mapping(uint256 => mapping(address => uint256))
    - key : 토큰ID, 지갑주소 | value : 특정 지갑주소의 잔고
  • balanceof : 해당주소에 존재하는 tokenId 갯수 반환
  • balanceOfBatch
    - A가 가지고 있는 토큰들을 조회하거나, 1번 토큰을 가진 주소들을 조회할때 용이
    - output이 array형태
  • setApprovalForAll : 보유한 모든 토큰에 대한 권한 부여 or 회수
  • isApprovedForAll : 보유한 모든 토큰의 권한을 부여 받았는지 확인

➕ ERC1155 URI
: pinata에 NFT의 이미지와 json파일을 올리고, ipfs의 json주소를 받아서 사용


코드와 함께 살펴보기
다른 함수 자세히 살펴보기👉 ERC20, ERC721

profile
Today I Learned

2개의 댓글

comment-user-thumbnail
2023년 7월 27일

정리가 잘 된 글이네요. 도움이 됐습니다.

1개의 답글