Blockchain/개념원리

ICO(Initial Coin Offering)로 활용되는 ERC-20 토큰 함수 이해하기

DevMonster 2021. 12. 18. 23:47
반응형

ICO로 활용되고, 일반적인 화폐처럼 사용하는 토큰의 표준 ERC-20

ERC-20의 함수구성과 예제를 통해 가장 많이 쓰이는 토큰을 이해해 보자.

 

ERC-20 의 함수 구성

function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)

함수들에 대해서 간단히 설명하면 아래와 같다.

totoalSupply: 토큰의 총 발행량.

balanceOf: 찾고자 하는 주소에 담긴 토큰의 수량을 조회.

transfer: 토큰 발행 주체에서 지정된 주소로 송금. 보통 ICO 할 때 사용하는 함수.

transferFrom: 일반 사용자 간 보내는 주소, 받는 주소, 보낼 금액을 적어 송금.

apporve: 상대 주소를 적고 금액을 입력하면 상대가 사용할 수 있도록 권한 부여.

allowance: 토큰 주인과 받을 사람 주소를 넣으면 사용할 수 있는 금액을 확인.

 

apporve와 allowance의 경우 위 글로는 이해가 어려울 것이다.

예제를 통해 이해하자.

 

보영이와 재석이가 있다. 보영이는 100개의 토큰을 가지고 있고, 재석이에게 50개 주려고 한다.

보영이가 50개의 토큰을 손으로 건낸다.  apporve(address(재석), 50)

재석이는 보영이가 주는 토큰의 개수를 확인한다. → allowance(address(보영), address(재석))

재석이는 보영이 손에 있는 토큰 50개를 가져간다. transferFrom(address(보영), address(재석), 50)

 

우리가 화폐를 주고 받는 개념과 비슷하지 않은가?

많은 토큰들은 ERC-20 토큰을 기반으로 생성되기에 토큰의 근본이라고 할 수 있다.

 

참고자료

https://eips.ethereum.org/EIPS/eip-20

728x90
반응형