오늘은 솔리디티툴인 REMIX와 OPEZEPELIN을 이용하여 ERC20 표준을 따르는 토큰을 만들어 보자!
아주 쉽고도 간단하면 누구나 10초만에 코드를 만들 수 있다. 토큰을 만드는 것은 그렇게 어려운 행위가 아니며 이더리움과 여러 체인들에 많은 토큰들이 생겨 나고 있다. ERC20은 그중 EIP20에서 올라온 이더리움 개선 제안을 통해 현재는 STANDARD 즉 토큰 표준으로 사용되고 있다. 아래의 코드를 보고 간단하게 토큰을 개발하며 어떤 의미가 있는지 이해해 보자.
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract SnowmenToken is ERC20 {
uint256 private constant MAX_SUPPLY = 1_000_000_000 * 10 **18;
constructor() ERC20("Snowmen","SNOW"){
_mint(msg.sender, MAX_SUPPLY);
}
}
1. 솔리디티 버젼을 설정한다.
2. 오픈제플린의 ERC20 토큰 표준라이브러리를 장착
3. SnowmenToken을 ERC20 표준을 상속받아서 만드는 컨트랙트 작성
총 공급량은 10억 개로 설정하고, constructor 생성자에 토큰의 이름인 Snowmen과 티커명인 SNOW를 써주고 민트를 사용하여 msg.sender 즉 민트주체가 총공급량을 소유하게 한다. 이때 민트는 토큰을 주조한다, 만든다 정도로 이해하면 좋다. 아래글에 NFT 민트에 대한 실사용 사례도 있다.
https://r-blockchain.tistory.com/18
이렇게 쉽게 이미 만들어진 라이브러리들과 토큰 표준을 이용하여 블록체인 네트워크 상에서 동작할 수 있는 스마트 컨트랙트 즉, 스마트한 계약을 작성함으로 우리가 만든 토큰들을 블록체인 네트워크 상에서 사용할 수 있다. 아래는 실제 ERC20 토큰표준의 EIP 개선제안으로 EIP 읽어주는 남자 세션에서 설명하겠다.
https://eips.ethereum.org/EIPS/eip-20
'블록체인' 카테고리의 다른 글
블록체인 MultiCall (0) | 2023.11.21 |
---|---|
블록체인 블록의 구조 (0) | 2021.09.27 |
블록체인 용어정리 (0) | 2021.07.27 |
P2P 네트워크 와 블록체인 네트워크 설계 (0) | 2021.07.19 |
데이터베이스와 분산원장? (0) | 2021.07.08 |