
ERC20 발행 방법 및 과정
*2022-01-19 글
구독자 여러분 안녕하세요? 이번에는 오랜만에 암호화폐 관련 게시물을 기재하고자 합니다.
AWARE Facebook(Meta) 페이지에서 "코인 만드는 코드 알려주세요"라는 댓글을 확인했는데, 가만히 있으면 AWARE가 아니겠죠?
이에 따라 진짜 코인 만드는 방법을 소개해드리고자 합니다. 비록 코드는 아니지만, 누구나 도전 가능한 엄청나게 간단한 방법으로요.
ERC20 Token Generator는 이번 게시물에서 소개드리는, 우리가 코인을 만들기 위한 핵심입니다.
말그대로 ERC20 토큰을 만드는 사이트인데요,
여기서 ERC20이란, Ethereum Request for Comment 20의 약자로, 이더리움 (ETH)과 호환이 가능한 토큰을 만들 수 있다는 뜻입니다.
안드로이드라는 운영체제 안에서만 가동 가능한 안드로이드 xx라는 앱이 있다고 생각해봤을 때,
이더리움이 안드로이드고, 지금부터 만들 토큰이 안드로이드 xx인 것이라 이해하시면 편합니다.
해당 사이트에서는 소각가능 여부 (참고: PoB, 코인을 불태운다고? 공급량 감소와 가격의 상관관계) 나 민팅 가능 여부 등, 옵션에 따라 발행 비용이 상이한 모습입니다. 이번 게시물에서는 돈이 들지 않는, "HelloERC20 Type"를 통해 발행하는 과정을 보여드리겠습니다.
민팅(Minting)이란?: 정보를 검증하며, 새 블록을 생성하고 해당 정보를 블록체인에 기록하는 것을 의미합니다. 누군가가 새로운 NFT를 발행하는 것이 그 예시입니다.
본격적으로 코인을 발핼하기 이전에, 발행할 코인을 담아 둘 지갑이 필요합니다. 메타마스크라는 확장 프로그램을 이용할 필요가 있습니다.
메타마스크 지갑 생성 시, 단어들의 배열로 이루어진 암호구문을 제공합니다. 해당 암호 구문을 잃어버리면 지갑을 다시 찾을 방법이 존재하지 않으므로 각별히 주의해주시기 바랍니다.
Create ERC Token을 클릭하시면 아래와 같은 화면에 도달하실 수 있습니다.
Token Details
Token Name에는 원하는 이름을 적어주시면 됩니다. 코인의 이름을 짓는 과정입니다.
Token Symbol은 심볼입니다. Bitcoin은 BTC, Etherium은 ETH, Ripple은 XRP인 것 처럼, 코인의 별명이라고 생각해주시면 됩니다.
Token Decimals는 배율 인수를 뜻합니다. 주식은 한 주 씩 거래가 가능하지만 암호화폐는 소수점 거래가 가능한데, 이 때 0.몇 까지 나눌 수 있게 할 것인지를 결정할 수 있습니다. 예를 들어 10진수는 Token Decimals에 0을 입력하면 되고, 소수점 한자리까지 분할 가능하게 하기 위해서는 1이 되겠네요. Standard Type부터 수정 가능합니다.
Initial Supply는 토큰이 2차 시장에서 거래되기 시작할 때, 유통 될 수를 정하는 칸입니다. Simple Type부터 수정 가능합니다.
Total Supply는 토큰의 최대 발행량을 정하는 칸입니다. Mintable Type이나, Common Type 부터 수정 가능합니다.
Token Features
Supply Type는 Token Type에 따라 변경됩니다. 10k의 경우, 토큰 공급량이 10,000개로 고정되며, 이후 공급량을 바꿀 수 없습니다. Fixed는 초기 공급량은 바꿀 수 있으나, 10k와 같이 이후 공급량을 바꿀 수 없습니다. Capped의 경우, 추가 발행이나 소각으로 공급량 조절이 가능하나, Total Supply의 개수를 넘어갈 수는 없습니다. Unlimited는 공급량 조절도 가능하고, 발행 수량도 정해져있지 않습니다.
Access Type으로는 토큰에 엑세스하는 유형을 정의할 수 있습니다. None의 경우는 말그대로 엑세스 유형이 없는 상태, Ownable은 소유가 가능한 토큰으로, 배포자가 기본적으로 소유자가 되어 발행결정을 할 수 있습니다. 소유권 이전 또한 가능합니다. Role Based는 역할을 지정할 수 있으며, Minter역할은 토큰의 발행이 가능하며 Admin역할은 발행인을 정할 수 있는 권한이 부여됩니다.
Transfer Type Unstoppable은 모든 이가 토큰을 자유롭게 전송 가능한 조건이며, Pausable은 Unstoppable처럼 전송 가능하나, 전송 중 긴급히 정지시킬 수 있는 기능을 갖추고 있습니다.
Verified Source Code 는 EtherScan에서의 소스코드 인증여부를 의미합니다.
Remove Copyright 컨트랙트에서 페이지 Copyright을 지울 수 있는 기능입니다. 쉽게 말해, 자기 자신의 코인에서 "이 코인은 ERC20Generator로 만들어짐"이라는 문장을 지울 수 있는 옵션입니다.
Burnable 소각가능 여부입니다. 위에 참고링크를 확인해주시기 바랍니다.
Mintable 민팅가능 여부입니다. 민팅도 위에서 설명드렸으므로 생략하겠습니다.
ERC1363 전송 및 승인 여부를 알릴 수 있는 ERC20 호환형 토큰입니다.
Token Recover 복구가능 여부입니다. 본문 맨 아래 언급되는 문제점에 대한 옵션입니다.
Token Type and Network
Token Type 해당 Type에 따라 위 옵션들이 변경됩니다.
Network Etherium Main Net Work를 선택하시면 됩니다.
이 과정까지 전부 성공적으로 완료되셨다면, 확장 프로그램인 메타마스크에서 위 화면에 도달하실 수 있습니다. 발행비용이 무료인 코인도 가스비가 필요합니다. 고속도로 톨게이트 요금같은 존재입니다. 현재(2022.01.19) 시세로 약 $334가 필요하네요.
NFT 게임 소개 글을 작성할 때 사용한 사비가 아직 환급이 안된 관계로, 방법만 소개드리는 선에서 게시물을 마치고자 합니다.
앞으로 더 좋은 글을 위해 열심히 사비를 모으도록 하겠습니다.
지금까지 코인을 발행하는 과정을 살펴보았습니다.
보시다시피, 정말 쉬운 방법으로 코인을 만들 수 있습니다. 이웃집 친구가 코인을 사고파는 동안 나는 코인을 만들 수 있다니, 정말 멋있지 않나요?
그러나 아쉽게도, 치명적인 문제점이 몇가지 존재합니다.
a. 먼저, ERC20으로 스마트 컨트랙트 결제를 할 시 토큰이 영구적으로 사라지는 버그가 존재합니다. 아직 더 나은 프로토콜이 나와야하는 상황이죠.
b. 다음으로, 상장입니다. 발행은 누구나 할 수 있지만, 제대로 된 거래소에 상장을 하는 것은 또 다른 문제이기 때문입니다. 발행을 한 이후 컨설팅 기업에 맡기는 분들도 계시고, 다른 기업(코인)의 백서를 따와서 사이트를 그럴듯하게 만든 이후 상장을 도전하시는 분들도 계십니다. 그렇기에 지금 당장은 백서만으로로도 특정 암호화폐의 근본을 어느정도 판별할 수 있습니다.
+코드는 더 자세히 알아본 후에 소개드리도록 하겠습니다. 감사합니다.