반응형
💡ERC1155
프로젝트에서 ERC1155를 기반으로 한 서비스를 제작하기로 했고, 이와 관련해서 계속해서 공부 중이다.
검색하다 보면 이런 말을 찾을 수 있다. ERC20 그리고 ERC721의 장점을 결합하여 만든 것이 ERC1155이다. 이게 말이 쉽지, 뭔가 명확하게 머릿속에 박히지는 않는다.
https://docs.openzeppelin.com/contracts/4.x/erc1155
공식 문서에 나와있는 코드를 확인해보면 다음과 같다.
// contracts/GameItems.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
contract GameItems is ERC1155 {
uint256 public constant GOLD = 0;
uint256 public constant SILVER = 1;
uint256 public constant THORS_HAMMER = 2;
uint256 public constant SWORD = 3;
uint256 public constant SHIELD = 4;
constructor() ERC1155("https://game.example/api/item/{id}.json") {
_mint(msg.sender, GOLD, 10**18, "");
_mint(msg.sender, SILVER, 10**27, "");
_mint(msg.sender, THORS_HAMMER, 1, "");
_mint(msg.sender, SWORD, 10**9, "");
_mint(msg.sender, SHIELD, 10**9, "");
}
}
우리가 흔히 NFT로 알고 있는 ERC721 처럼 스마트 컨트랙트 안에 여러개의 토큰을 생성할 수 있고, 해당 토큰의 갯수도 여러개로 만들 수 있는 것이다. 여기서 장점은 가스비를 한번만 내면되는 것이다.
위 코드 예제처럼, GOLD, SILVER, THORS_HAMMER, SWORD, SHIELD와 같은 토큰을 만들고 해당 토큰의 갯수를 아래처럼 지정할 수 있다.
반응형
'블록체인 > 블록체인이란?' 카테고리의 다른 글
ENS(Ethereum Name Service) (0) | 2024.05.21 |
---|---|
ERC-6551, Token Bound Account (0) | 2024.05.17 |
인적 문제로 발생할 수 있는 블록체인의 보안적 이슈, 크립토재킹 & 더스팅 공격 & 시빌 공격 (0) | 2022.08.05 |
이클립스 공격 (Eclipse Attack) (0) | 2022.08.05 |
리플레이 공격 (0) | 2022.08.05 |
댓글